/src/ittf/jobs/ittf__copy/api/dumps/api/t/array1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var item = obj1.items.length == 1 ? obj1.items[0] : null; 5 var obj2 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array2( &obj2) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object2( &obj2)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/array2.html.ittf
1 $group 2 $params &obj2 3 $ 4 var item = obj2.items.length == 2 ? obj2.items[0] : null; 5 var obj3 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array3( &obj3) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object3( &obj3)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/array3.html.ittf
1 $group 2 $params &obj3 3 $ 4 var item = obj3.items.length == 3 ? obj3.items[0] : null; 5 var obj4 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 h1 Sorry too deep in array3 32 $$ ./array4(&obj4) 33 $if item.type === 'object' 34 tr 35 td 36 @ valign top 37 h1 Sorry too deep in array3 38 $$ ./object4(&obj4)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/cb1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var obj2 = {}; 5 $if obj1.xarguments.length > 0 6 table 7 $foreach arg in obj1.xarguments 8 $ 9 obj2 = arg; 10 tr 11 td arg 12 @ valign top 13 td ${arg.wzName} 14 @ valign top 15 td ${arg.type} 16 @ valign top 17 $if arg.type === 'alternative' 18 table 19 $foreach v in arg.values 20 $ 21 obj2 = arg; 22 tr 23 td | ${v.wzName} 24 @ valign top 25 td 26 @ valign top 27 $if v.wzName != v.type 28 span ${v.type} 29 $if v.type === 'exception' && v.errors.length > 0 30 table 31 $foreach err in v.errors 32 tr 33 td ${err.wzName} 34 $else 35 table 36 $if v.apiRef 37 tr 38 td api ref 39 td 40 a ${v.apiRef} 41 href #${v.apiRef} 42 $if v.isPOJO 43 tr 44 td POJO 45 $if v.defaultValue 46 tr 47 td default 48 td ${v.defaultValue} 49 $if v.isRequired 50 tr 51 td required 52 $if v.iface 53 tr 54 td interface 55 td ${v.iface} 56 $if v.type === 'object' 57 tr 58 td 59 ./object2( &obj2) 60 $if v.type === 'array' 61 tr 62 td 63 ./array2( &obj2) 64 $elif arg.type === 'switch' 65 table 66 $foreach xon in arg.ons 67 tr 68 td | on ${xon.wzName} 69 @ valign top 70 table 71 $foreach v in xon.values 72 $ 73 obj2 = v; 74 tr 75 td ${v.wzName} 76 @ valign top 77 td 78 @ valign top 79 $if v.wzName != v.type 80 span ${v.type} 81 $group 82 table 83 $if v.apiRef 84 tr 85 td api ref 86 td 87 a ${v.apiRef} 88 href #${v.apiRef} 89 $if v.isPOJO 90 tr 91 td POJO 92 $if v.defaultValue 93 tr 94 td default 95 td ${v.defaultValue} 96 $if v.isRequired 97 tr 98 td required 99 $if v.iface 100 tr 101 td interface 102 td ${v.iface} 103 $if v.type === 'object' 104 tr 105 td 106 ./object2( &obj2) 107 $if v.type === 'array' 108 tr 109 td 110 ./array2( &obj2) 111 $else 112 td ${arg.wzName} 113 @ valign top 114 td ${arg.type} 115 @ valign top 116 table 117 $if arg.apiRef 118 tr 119 td api ref 120 td 121 a ${arg.apiRef} 122 href #${arg.apiRef} 123 $if arg.isPOJO 124 tr 125 td POJO 126 $if arg.defaultValue 127 tr 128 td default 129 td ${arg.defaultValue} 130 $if arg.isRequired 131 tr 132 td required 133 $if arg.iface 134 tr 135 td interface 136 td ${arg.iface} 137 $if arg.type === 'object' 138 tr 139 td 140 ./object2( &obj2) 141 $if arg.type === 'array' 142 tr 143 td 144 ./array2( &obj2)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/object1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var obj2 = {}; 5 $if obj1.properties.length > 0 6 table 7 $foreach prop in obj1.properties 8 $ 9 obj2 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object2( &obj2) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array2( &obj2)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/object2.html.ittf
1 $group 2 $params &obj2 3 $ 4 var obj3 = {}; 5 $if obj2.properties.length > 0 6 table 7 $foreach prop in obj2.properties 8 $ 9 obj3 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object3( &obj3) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array3( &obj3)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/object3.html.ittf
1 $group 2 $params &obj3 3 $ 4 var obj4 = {}; 5 $if obj3.properties.length > 0 6 table 7 $foreach prop in obj3.properties 8 $ 9 obj4 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 h1 Sorry too deep in object3 45 $$ ./object4(&obj4) 46 $if prop.type === 'array' 47 tr 48 td 49 h1 Sorry too deep in object3 50 $$ ./array4(&obj4)
/src/ittf/jobs/ittf__copy/api/dumps/api/t/type.html.ittf
1 $group 2 $params &api, &type 3 $ 4 var obj1 = {}; 5 $if type.properties.length > 0 6 table 7 $foreach p in type.properties 8 tr 9 td property 10 @ valign top 11 td ${p.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${p.type} 16 $if p.type === 'object' 17 span { 18 $if p.type === 'array' 19 span [ 20 table 21 $if p.comments.length > 0 22 tr 23 td 24 $foreach c in p.comments 25 span ${c.wzName} 26 br 27 $if p.apiRef 28 tr 29 td api ref 30 @ valign top 31 td 32 @ valign top 33 a ${p.apiRef} 34 href #${p.apiRef} 35 $if p.type === 'object' 36 $ 37 obj1 = p; 38 tr 39 td 40 @ valign top 41 ./object1( &obj1) 42 $if p.type === 'array' 43 $ 44 obj1 = p; 45 tr 46 td 47 @ valign top 48 ./array1( &obj1) 49 $if type.methods.length > 0 50 table 51 $foreach m in type.methods 52 tr 53 style border-top: 1px solid gray; 54 td method 55 @ valign top 56 td ${api.wzName}.${m.wzName} 57 @ valign top 58 table 59 tr 60 td type 61 td 62 $if m.isAsync 63 span async 64 span ${m.type} 65 $if m.isInternal 66 tr 67 td internal method 68 $if m.implementedBy 69 tr 70 td implemented by 71 td 72 a ${m.implementedBy} 73 href #${m.implementedBy} 74 $if m.calledBy 75 tr 76 td called by 77 td 78 a ${m.calledBy} 79 href #${m.calledBy} 80 $if m.throwIf 81 tr 82 td throw if 83 td ${m.throwIf} 84 $if m.params.length > 0 85 $foreach p in m.params 86 $ 87 obj1 = p; 88 tr 89 td param 90 @ valign top 91 td ${p.wzName} 92 @ valign top 93 td 94 @ valign top 95 span ${p.type} 96 $if p.type === 'object' 97 span { 98 $if p.type === 'array' 99 span [ 100 $if p.comments.length > 0 101 tr 102 td 103 $foreach c in p.comments 104 span ${c.wzName} 105 br 106 table 107 $if p.apiRef 108 tr 109 td api ref: 110 td 111 a ${p.apiRef} 112 href #${p.apiRef} 113 $if p.isPOJO 114 tr 115 td POJO 116 $if p.defaultValue 117 tr 118 td default 119 td ${p.defaultValue} 120 $if p.isRequired 121 tr 122 td required 123 $if p.iface 124 tr 125 td interface 126 td ${p.iface} 127 $if p.type === 'object' 128 tr 129 td 130 ./object1( &obj1) 131 $if p.type === 'array' 132 tr 133 td 134 ./array1( &obj1) 135 $if p.type === 'callback-function' 136 tr 137 td 138 ./cb1( &obj1) 139 $if m.info 140 tr 141 td info 142 @ valign top 143 td 144 @ valign top 145 @ colspan 2 146 table 147 $foreach c in m.info.comments 148 tr 149 td ${c.wzName} 150 @ colspan 2 151 $foreach it in m.info.infoItems 152 tr 153 td ${it.wzTag} 154 td ${it.wzName} 155 $foreach it2 in it.infoItems 156 tr 157 td ${it2.wzTag} 158 style padding-left: 15px; 159 td ${it2.wzName} 160 style padding-left: 15px; 161 $foreach it3 in it2.infoItems 162 tr 163 td ${it3.wzTag} 164 style padding-left: 30px; 165 td ${it3.wzName} 166 style padding-left: 30px; 167 $if it3.infoItems.length > 0 168 h1 Sorry to deep info items 169 $if m.return 170 tr 171 td return 172 @ valign top 173 td 174 @ valign top 175 table 176 $foreach v in m.return.values 177 $ 178 obj1 = v; 179 tr 180 td ${v.wzName} 181 @ valign top 182 td ${v.type} 183 @ valign top 184 table 185 $if v.apiRef 186 tr 187 td api ref: 188 td 189 a ${v.apiRef} 190 href #${v.apiRef} 191 $if v.isPOJO 192 tr 193 td POJO 194 $if v.defaultValue 195 tr 196 td default 197 td ${v.defaultValue} 198 $if v.isRequired 199 tr 200 td required 201 $if v.iface 202 tr 203 td interface 204 td ${v.iface} 205 $if v.type === 'object' 206 tr 207 td 208 ./object1( &obj1) 209 $if v.type === 'array' 210 tr 211 td 212 ./array1( &obj1) 213 $if v.type === 'callback-function' 214 tr 215 td 216 ./cb1( &obj1)
/src/ittf/jobs/ittf__copy/api/dumps/api/wf.api.ittf
1 wfsystem ${api.value} 2 $function buildup_node 3 $param item 4 ${item.name} ${item.value} 5 $foreach c in item.children 6 $_ buildup_node 7 $@ c 8 $foreach c in api.children 9 $_ buildup_node 10 $@ c
/src/ittf/jobs/ittf__copy/api/html/api/t/array.html.ittf
1 $group 2 $function buildup_array 3 $param obj 4 $param smr 5 $ var item = obj.items && obj.items.length == 1 ? obj.items[0] : null; 6 $if item != null 7 . gsf-smr-${smr} 8 $if item.type === 'object' 9 span { 10 $elif item.type === 'array' 11 span [ 12 $else 13 span ${item.type} 14 span ${item.wzName} 15 class api-param-name 16 $_ comments 17 $@ item 18 $@ smr+1 19 $@ 'array-item' 20 $_ api_ref 21 $@ item 22 $@ smr+1 23 $if item.type === 'array' 24 $_ buildup_array 25 $@ item 26 $@ smr+1 27 $if item.type === 'object' 28 $_ buildup_object 29 $@ item 30 $@ smr+1
/src/ittf/jobs/ittf__copy/api/html/api/t/cb.html.ittf
1 $group 2 $function buildup_cb 3 $param obj 4 $param smr 5 $_ comments 6 $@ obj 7 $@ smr 8 $@ 'cb' 9 $foreach arg in obj.xarguments 10 . gsf-smr-${smr} 11 $_ typed_name 12 $@ arg 13 $@ 'param' 14 $_ comments 15 $@ arg 16 $@ smr+1 17 $@ 'cb-arg' 18 $if arg.type === 'alternative' 19 $foreach v in arg.values 20 . gsf-smr-${(smr+2)} 21 span | ${v.wzName} 22 $if v.wzName != v.type 23 span ${v.type} 24 $if v.type === 'exception' && v.errors.length > 0 25 $foreach err in v.errors 26 . gsf-smr-${(smr+3)} 27 span ${err.wzName} 28 $else 29 $_ typed_value_attrs 30 $@ v 31 $@ smr+2 32 $elif arg.type === 'switch' 33 $foreach xon in arg.ons 34 . gsf-smr-${(smr+2)} 35 span | on ${xon.wzName} 36 $foreach v in xon.values 37 $_ typed_value 38 $@ v 39 $@ smr+3 40 $else 41 $_ typed_value 42 $@ arg 43 $@ smr+1
/src/ittf/jobs/ittf__copy/api/html/api/t/info.html.ittf
1 $group 2 $function info_item 3 $param item 4 $param smr 5 . gsf-smr-${smr} 6 $if item.wzTag === 'dependency' 7 span ${item.type} 8 class api-info-tag 9 span ${item.wzTag} 10 class api-info-tag 11 span 12 a ${item.wzName} 13 href #${item.wzName} 14 $else 15 span ${item.wzTag} 16 class api-info-tag 17 span 18 a ${item.wzName} 19 href #${item.wzName} 20 $foreach child in item.infoItems 21 $_ info_item 22 $@ child 23 @ smr+1
/src/ittf/jobs/ittf__copy/api/html/api/t/misc.html.ittf
1 $group 2 $function typed_name 3 $param p 4 $if p.type === 'object' 5 span { 6 class api-property-type 7 $elif p.type === 'array' 8 span [ 9 class api-property-type 10 $else 11 span ${p.type} 12 class api-property-type 13 $if p.type !== 'null' 14 span ${p.wzName} 15 class api-property-name 16 $function comments 17 $param p 18 $param smr 19 $param type 20 $if p.comments.length > 0 21 . gsf-smr-${smr} api-comment-${type} 22 $foreach c in p.comments 23 span ${c.wzName} 24 $function api_ref 25 $param p 26 $param smr 27 $if p.apiRef 28 . gsf-smr-${smr} 29 span api-ref 30 class api-label-api-ref 31 span 32 class api-ref 33 a ${p.apiRef} 34 href #${p.apiRef} 35 $function typed_value 36 $param v 37 $param smr 38 . gsf-smr-${smr} 39 $_ typed_name 40 $@ v 41 $@ 'property' 42 $_ typed_value_attrs 43 $@ v 44 $@ smr+1 45 $function typed_value_attrs 46 $param v 47 $param smr 48 $if v.comments.length > 0 49 . gsf-smr-${smr} api-comment-typed-value 50 $foreach c in v.comments 51 span ${c.wzName} 52 $if v.isPOJO 53 . gsf-smr-${smr} 54 span POJO 55 $if v.defaultValue 56 . gsf-smr-${smr} 57 span default ${v.defaultValue} 58 $if v.isRequired 59 . gsf-smr-${smr} api-constraint 60 span required 61 $if v.iface 62 . gsf-smr-${smr} api-iface 63 span ${v.iface} 64 $_ api_ref 65 $@ v 66 $@ smr 67 $if v.type === 'object' 68 $_ buildup_object 69 $@ v 70 $@ smr 71 $if v.type === 'array' 72 $_ buildup_array 73 $@ v 74 $@ smr
/src/ittf/jobs/ittf__copy/api/html/api/t/object.html.ittf
1 $group 2 $function buildup_object 3 $param obj 4 $param smr 5 $foreach p in obj.properties 6 . gsf-smr-${smr} api-param-panel 7 $_ typed_name 8 $@ p 9 $@ 'property' 10 $_ comments 11 $@ p 12 $@ smr+1 13 $@ 'object-property' 14 $if p.isPOJO 15 . gsf-smr-${(smr+1)} 16 span POJO 17 $if p.defaultValue 18 . gsf-smr-${(smr+1)} 19 span default ${p.defaultValue} 20 $if p.isRequired 21 . gsf-smr-${(smr+1)} api-constraint 22 span required 23 $if p.iface 24 . gsf-smr-${(smr+1)} api-iface 25 span ${p.iface} 26 $_ api_ref 27 $@ p 28 $@ smr+1 29 $if p.type === 'object' 30 $_ buildup_object 31 $@ p 32 $@ smr+1 33 $if p.type === 'array' 34 $_ buildup_array 35 $@ p 36 $@ smr+1
/src/ittf/jobs/ittf__copy/api/html/api/t/type.html.ittf
1 $group 2 $function buildup_type 3 $param title 4 $param api 5 $param type 6 h3 ${title} 7 $if type.properties.length > 0 8 h5 Properties 9 $foreach p in type.properties 10 . gsf-smr-0 api-property-panel 11 . gsf-smr-1 api-property 12 @ name ${api.wzName}.${p.wzName} 13 @ id ${api.wzName}.${p.wzName} 14 $_ typed_name 15 $@ p 16 $@ 'property' 17 $_ comments 18 $@ p 19 $@ 2 20 $@ 'property' 21 $if p.apiRef 22 . gsf-smr-2 23 span api-ref 24 class api-label-api-ref 25 span 26 class api-ref 27 a ${p.apiRef} 28 href #${p.apiRef} 29 $if p.type === 'object' 30 $_ buildup_object 31 $@ p 32 $@ 2 33 $if p.type === 'array' 34 $_ buildup_array 35 $@ p 36 $@ 2 37 $if type.methods.length > 0 38 h5 Methods 39 $foreach m in type.methods 40 $ 41 var methodName = m.wzTag === 'ctor' ? 'constructor' : m.wzName; 42 . gsf-smr-0 api-method-panel 43 @ name ${api.wzName}.${methodName} 44 @ id ${api.wzName}.${methodName} 45 . gsf-smr-1 api-method 46 span ${api.wzName}.${methodName}(...) 47 . gsf-smr-2 48 $if m.isAsync 49 span async 50 $if m.type 51 span ${m.type} 52 $if m.isInternal 53 span , internal method 54 $if m.implementedBy 55 span , implemented by 56 a ${m.implementedBy} 57 href #${m.implementedBy} 58 $if m.calledBy 59 span , called by 60 a ${m.calledBy} 61 href #${m.calledBy} 62 $if m.throwIf 63 span , throw if ${m.throwIf} 64 $_ comments 65 $@ m 66 $@ 2 67 $@ 'method' 68 $if m.params.length > 0 69 . gsf-smr-2 api-method-section-title 70 span Params 71 $foreach p in m.params 72 . gsf-smr-3 api-param-panel 73 $_ typed_name 74 $@ p 75 $@ 'param' 76 $_ comments 77 $@ p 78 $@ 4 79 $@ 'param' 80 $_ api_ref 81 $@ p 82 $@ 4 83 $if p.isPOJO 84 . gsf-smr-4 85 span POJO 86 $if p.defaultValue 87 . gsf-smr-4 88 span default ${p.defaultValue} 89 $if p.isRequired 90 . gsf-smr-4 91 span required 92 $if p.iface 93 . gsf-smr-4 94 span interface ${p.iface} 95 $if p.type === 'object' 96 $_ buildup_object 97 $@ p 98 $@ 4 99 $if p.type === 'array' 100 $_ buildup_array 101 $@ p 102 $@ 4 103 $if p.type === 'callback-function' 104 $_ buildup_cb 105 $@ p 106 $@ 4 107 $if m.return 108 . gsf-smr-2 api-method-section-title 109 span Return 110 $foreach v in m.return.values 111 $_ typed_value 112 $@ v 113 $@ 3 114 $if m.info 115 . gsf-smr-2 api-method-section-title 116 span Info 117 $_ comments 118 $@ m.info 119 $@ 3 120 $@ 'info' 121 $foreach it in m.info.infoItems 122 $_ info_item 123 $@ it 124 $@ 3
/src/ittf/jobs/ittf__copy/api/html/api/wf-api.html.ittf
1 html 2 $ 3 var currentPage = 'api' 4 var currentSubPage = null; 5 var type = {}; 6 html/layout_compile() 7 $append styles 8 css api-styles.css 9 $include misc 10 $include cb 11 $include info 12 $include object 13 $include array 14 $include type 15 html/nav_sidebar() 16 section 17 id main-toc 18 class toc 19 h3 Contents: 20 ol 21 $foreach api in wfsystem.apis 22 li 23 a ${api.wzName} 24 href #${api.wzName} 25 div 26 class main-content 27 $foreach api in wfsystem.apis 28 h1 ${api.wzName} 29 @ name ${api.wzName} 30 @ id ${api.wzName} 31 div 32 class api-sub-1 33 span ${api.kind} API 34 $if api.implementation 35 span , ${api.implementation.type} 36 $if api.implementation.path 37 span , source path: ${api.implementation.path} 38 $if api.implementation.standardPath 39 span , source standard path: ${api.implementation.standardPath} 40 $_ comments 41 $@ api 42 $@ 0 43 $@ 'api' 44 $if api.interface 45 $ var type = api.interface; 46 $_ buildup_type 47 $@ 'Interface' 48 $@ api 49 $@ type 50 hr 51 $if api.type 52 $ var type = api.type; 53 $_ buildup_type 54 $@ 'Type' 55 $@ api 56 $@ type
/src/ittf/jobs/ittf__copy/api/api_preprocess.wfjob.ittf
1 wfjob apis 2 $ 3 var models_folder = 'c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/api'; 4 var ittf_lib_folder = path.join(__dirname, 'dumps', 'api'); 5 var dest_folder = path.join(__dirname, 'preprocess', 'api'); 6 models-base-folder ${models_folder} 7 model wf 8 src wf.api.ittf 9 schema ittf 10 line one 11 cwd-folder ${models_folder} 12 dest-folder ${dest_folder} 13 artifact wf.api first transformer 14 src wf.api.ittf 15 schema ittf 16 generator ittf/document 17 extension api.ittf 18 transformer api/traverse 19 line stop 20 cwd-folder ${ittf_lib_folder} 21 dest-folder ${dest_folder} 22 artifact wf.api first transformer 23 src wf.api.ittf 24 schema ittf 25 generator ittf/document 26 extension ittf 27 model-ref wf 28 transformer api/traverse 29 export-name api 30 production 31 dest-folder ${dest_folder} 32 line-ref one
/src/ittf/jobs/ittf__copy/api/api.wfjob.ittf
1 wfjob apis_preprocess 2 $ 3 var ittf_preprocess_folder = path.join(__dirname, 'preprocess', 'api'); 4 var ittf_html_folder = path.join(__dirname, 'html', 'api'); 5 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 6 models-base-folder ${ittf_preprocess_folder} 7 model wf 8 src wf.api.ittf 9 schema wfsystem 10 line one 11 cwd-folder ${ittf_preprocess_folder} 12 dest-folder ${dest_folder} 13 artifact json export of wfsystem with preprocessed api 14 src wf.api.ittf 15 schema wfsystem 16 generator json/export 17 extension api.json 18 line two 19 cwd-folder ${ittf_html_folder} 20 dest-folder ${dest_folder} 21 artifact html api 22 src wf-api.html.ittf 23 schema html 24 is-compile 25 generator html/document 26 dest-path api.html 27 model-ref wf 28 export-name wfsystem 29 production 30 dest-folder ${dest_folder} 31 line-ref one 32 line-ref two
/src/ittf/jobs/ittf__copy/code/dumps/package/package-dump.ittf.ittf
1 wfpackage ${wfpackage.value} 2 $function buildup_node 3 $param item 4 ${item.name} ${item.value} 5 $foreach c in item.children 6 $_ buildup_node 7 $@ c 8 $foreach c in wfpackage.children 9 $_ buildup_node 10 $@ c
/src/ittf/jobs/ittf__copy/code/html/package/t/folder_source.html.ittf
1 $group 2 $function buildup_folder_source 3 $param folder 4 $param level 5 $foreach f in folder.folders 6 $_ buildup_folder_source 7 $@ f 8 $@ level + 1 9 $foreach d in folder.documents 10 $global 11 dcount++; 12 . code-panel 13 @ id ${d.id} 14 . modal-view-container 15 h4 ${d.path} 16 class d-h2 17 $* 18 $if d.ittf.fragments.length > 0 19 h4 Fragments 20 class frag-h4 21 ul 22 $foreach f in d.ittf.fragments 23 li 24 class frag-to-link-li 25 a ${f.wzName} 26 href #${f.uri} 27 data-frag-id ${f.documentId} 28 class frag-to-link-a 29 *$ 30 pre 31 class prettyprint 32 + ${'\n'}${_.deinline(d.ittf.wzName)}
/src/ittf/jobs/ittf__copy/code/html/package/t/folder.html.ittf
1 $group 2 $function buildup_folder 3 $param folder 4 $param level 5 ul 6 $foreach f in folder.folders 7 li 8 input 9 type checkbox 10 $if f.isTFolder == false && level < 2 11 checked 12 id ${f.id} 13 span 14 label ${f.wzName} 15 for ${f.id} 16 $_ buildup_folder 17 $@ f 18 $@ level + 1 19 $foreach d in folder.documents 20 li 21 a ${d.wzName} 22 href #${d.id}
/src/ittf/jobs/ittf__copy/code/html/package/package.html.ittf
1 html 2 $ 3 var currentPage = 'code'; 4 var currentSubPage = wfpackage.wzName; 5 var type = {}; 6 html/layout_compile() 7 $append styles 8 css styles.css 9 $include folder 10 $include folder_source 11 $global 12 var count = 0; 13 var dcount = 0; 14 html/nav_sidebar() 15 section 16 id main-toc 17 class toc 18 h3 ${wfpackage.wzName} ittf source code: 19 . treeview 20 $global 21 dcount = 0; 22 $foreach f in wfpackage.folders 23 $_ buildup_folder 24 $@ f 25 $@ 0 26 div 27 class main-content 28 $global 29 dcount = 0; 30 $foreach f in wfpackage.folders 31 $_ buildup_folder_source 32 $@ f 33 $@ 0 34 . modal 35 id frag-modal 36 . modal-content 37 id frag-modal-content 38 span × 39 class modal-close
/src/ittf/jobs/ittf__copy/code/code_preprocess.wfjob.ittf
1 wfjob code_preprocess 2 $ 3 var models_folder = 'c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/packages'; 4 var ittf_lib_folder = path.join(__dirname, 'dumps', 'package'); 5 var dest_folder = path.join(__dirname, 'preprocess', 'package'); 6 models-base-folder ${models_folder} 7 model wf 8 $if false 9 src v4-kernel.wfpackage.ittf 10 $if false 11 src v4-plugins.wfpackage.ittf 12 $if true 13 src v4-demo.wfpackage.ittf 14 schema wfpackage 15 line one 16 cwd-folder ${ittf_lib_folder} 17 dest-folder ${dest_folder} 18 artifact wf.package first transformer 19 src package-dump.ittf.ittf 20 schema ittf 21 is-compile 22 generator ittf/document 23 dest-path {package}.wfpackage.ittf 24 model-ref wf 25 transformer wfpackage/fs-scanner 26 model-coll generatedPackages 27 item-name wfpackage 28 path-template-value 29 attribute value 30 token package 31 production 32 dest-folder ${dest_folder} 33 line-ref one
/src/ittf/jobs/ittf__copy/code/code.wfjob.ittf
1 wfjob package 2 $ 3 var ittf_preprocess_folder = path.join(__dirname, 'preprocess', 'package'); 4 var ittf_html_folder = path.join(__dirname, 'html', 'package'); 5 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 6 // var pkgs = ['wizzi', 'wizzi-mtree', 'wizzi-repo', 'wizzi-utils']; 7 // var pkgs = ['wizzi-core', 'wizzi-meta', 'wizzi-docs']; 8 var pkgs = ['wizzi-documentation', 'wizzi-demo']; 9 models-base-folder ${ittf_preprocess_folder} 10 $foreach pkg in pkgs 11 model wf-${pkg} 12 src ${pkg}.wfpackage.ittf 13 schema wfpackage 14 line one 15 cwd-folder ${ittf_preprocess_folder} 16 dest-folder ${dest_folder} 17 $foreach pkg in pkgs 18 artifact json export of wfpackage with preprocessed package 19 src ${pkg}.wfpackage.ittf 20 schema wfpackage 21 generator json/export 22 extension json 23 line two 24 cwd-folder ${ittf_html_folder} 25 dest-folder ${dest_folder} 26 $foreach pkg in pkgs 27 artifact html package 28 src package.html.ittf 29 schema html 30 is-compile 31 generator html/document 32 dest-path code/${pkg}.html 33 model-ref wf-${pkg} 34 export-name wfpackage 35 production 36 dest-folder ${dest_folder} 37 line-ref one 38 line-ref two
/src/ittf/jobs/ittf__copy/docs/html/__examples/github.html.ittf
1 html 2 lang en 3 head 4 meta 5 http-equiv Content-Type 6 content text/html; charset=UTF-8 7 meta 8 http-equiv Content-Language 9 content en-us 10 meta 11 http-equiv imagetoolbar 12 content false 13 meta 14 name MSSmartTagsPreventParsing 15 content true 16 meta 17 name viewport 18 content width=device-width,initial-scale=1 19 @title GitHub Developer | GitHub Developer Guide 20 link 21 rel alternate 22 type application/atom+xml 23 title API Changes 24 href /changes.atom 25 link 26 rel stylesheet 27 href https://fonts.googleapis.com/css?family=Roboto:400,300,400italic,500 28 link 29 href /assets/stylesheets/application.css 30 rel stylesheet 31 type text/css 32 js https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js 33 js /assets/javascripts/application.js 34 body 35 class overview 36 header 37 class site-header 38 . container 39 id header 40 a 41 class site-header-logo mt-1 42 href / 43 img 44 src /assets/images/github-developer-logo.svg 45 alt GitHub Developer 46 nav 47 class site-header-nav 48 a GraphQL API v4 49 class site-header-nav-item 50 href /v4/ 51 a REST API v3 52 class site-header-nav-item 53 href /v3/ 54 a Apps 55 class site-header-nav-item 56 href /apps/ 57 a Blog 58 class site-header-nav-item 59 href /changes/ 60 a Early Access 61 class site-header-nav-item 62 href /early-access/ 63 a Support 64 class site-header-nav-item 65 href https://github.com/contact 66 form 67 accept-charset UTF-8 68 action # 69 class site-header-nav-item site-header-search 70 label 71 id search-container 72 class mb-0 73 input 74 type text 75 id searchfield 76 class form-control 77 placeholder Search… 78 autocomplete off 79 autocorrect off 80 autocapitalize off 81 spellcheck false 82 . cancel-search 83 ul 84 id search-results 85 . text-center bg-gray-light overflow-hidden 86 img 87 src ../assets/images/hero-circuit-bg.svg 88 alt github-circuit-board-illustration 89 class hero-img 90 . py-6 bg-custom-gradient 91 . container text-center 92 h1 93 class text-beta 94 a 95 id build-your-app-on-githubs-platform 96 class anchor 97 href #build-your-app-on-githubs-platform 98 aria-hidden true 99 span 100 aria-hidden true 101 class octicon octicon-link 102 + Build your app on GitHub's platform 103 p Not sure where to start? We’ve put together some handy guides and reference documentation you can use to start building. 104 class lead text-center mb-6 105 a Learn more about v4 of the GitHub API 106 class btn btn-blue 107 href /v4 108 hr 109 class my-6 110 . container mb-4 111 . row clearfix 112 . col-xs-12 col-md-6 col-lg-8 pr-md-4 113 div Introduction to GraphQL 114 class text-gamma 115 p Let's walk through the inner workings of our GraphQL API. 116 class mb-2 117 p 118 class mb-6 119 a Read the guide → 120 href v4/guides/intro-to-graphql/ 121 class link-mono 122 div Forming API calls with GraphQL 123 class text-gamma 124 p In this section, we're going to focus on how to form a GraphQL API call. 125 class mb-2 126 p 127 class mb-6 128 a Read the guide → 129 href v4/guides/forming-calls/ 130 class link-mono 131 div Migrating from REST to GraphQL 132 class text-gamma 133 p We'll also help you explore the path to migrating from REST to GraphQL. 134 class mb-2 135 p 136 class mb-6 137 a Read the guide → 138 href /v4/guides/migrating-from-rest 139 class link-mono 140 div Building an OAuth App or GitHub App 141 class text-gamma 142 p Choose GitHub Apps or OAuth Apps to get started developing an integration. 143 class mb-2 144 p 145 class mb-6 146 a Read the docs → 147 href /apps/building-integrations/ 148 class link-mono 149 . col-xs-12 col-md-6 col-lg-4 pl-md-5 150 . card 151 . border-bottom px-3 py-3 152 . text-gamma d-flex flex-items-center 153 span 154 class octicon octicon-telescope mega-octicon text-gray-dark mr-2 155 + Ecosystem 156 p Showcase what you've built on GitHub 157 class body-sm 158 . border-bottom px-3 py-3 159 . mb-3 160 a Marketplace 161 class link-mono 162 href /apps/adding-integrations/listing-apps-on-github-marketplace/about-github-marketplace/ 163 target _blank 164 . mb-3 165 a Marketplace Guidelines 166 class link-mono 167 href /apps/adding-integrations/listing-apps-on-github-marketplace/ 168 target _blank 169 . mb-3 170 a Works with GitHub 171 class link-mono 172 href /apps/adding-integrations/adding-integrations-to-works-with-github/about-works-with-github/ 173 target _blank 174 . mb-3 175 a Works with GitHub Guidelines 176 class link-mono 177 href /apps/adding-integrations/adding-integrations-to-works-with-github/requirements-for-adding-an-integration-to-works-with-github 178 target _blank 179 . px-4 py-3 text-center 180 a Join the GitHub Developer Program 181 href /program/ 182 . container 183 h2 184 class text-beta text-center mt-3 185 a 186 id see-what-others-have-built-on-github 187 class anchor 188 href #see-what-others-have-built-on-github 189 aria-hidden true 190 span 191 aria-hidden true 192 class octicon octicon-link 193 + See what others have built on GitHub 194 p Build with tools from GitHub Marketplace. 195 class lead text-center pb-6 196 . row gut-3 clearfix 197 . col-xs-12 col-md-6 col-lg-4 198 a 199 class card bg-gray-light p-4 mb-4 d-block clearfix 200 target _blank 201 href https://github.com/marketplace/circleci 202 img 203 class float-left rounded-1 204 src ../assets/images/icon-circle-ci.png 205 style width: 50px; 206 alt app-icon 207 . pl-3 float-left 208 div Circle CI 209 class text-black text-bold mt-1 210 div Continuous Integration 211 class f6 text-mono 212 . col-xs-12 col-md-6 col-lg-4 213 a 214 class card bg-gray-light p-4 mb-4 d-block clearfix 215 target _blank 216 href https://github.com/marketplace/zenhub 217 img 218 class float-left rounded-1 219 src ../assets/images/icon-zenhub.png 220 style width: 50px; 221 alt app-icon 222 . pl-3 float-left 223 div ZenHub 224 class text-black text-bold mt-1 225 div Project Management 226 class f6 text-mono 227 . col-xs-12 col-md-6 col-lg-4 228 a 229 class card bg-gray-light p-4 mb-4 d-block clearfix 230 target _blank 231 href https://github.com/marketplace/codecov 232 img 233 class float-left rounded-1 234 src ../assets/images/icon-codecov.png 235 style width: 50px; 236 alt app-icon 237 . pl-3 float-left 238 div Codecov 239 class text-black text-bold mt-1 240 div Code Quality 241 class f6 text-mono 242 . col-xs-12 col-md-6 col-lg-4 243 a 244 class card bg-gray-light p-4 mb-4 d-block clearfix 245 target _blank 246 href https://github.com/marketplace/rollbar 247 img 248 class float-left rounded-1 249 src ../assets/images/icon-rollbar.png 250 style width: 50px; 251 alt app-icon 252 . pl-3 float-left 253 div Rollbar 254 class text-black text-bold mt-1 255 div Monitoring 256 class f6 text-mono 257 . col-xs-12 col-md-6 col-lg-4 258 a 259 class card bg-gray-light p-4 mb-4 d-block clearfix 260 target _blank 261 href https://github.com/marketplace/codetree 262 img 263 class float-left rounded-1 264 src ../assets/images/icon-codetree.png 265 style width: 50px; 266 alt app-icon 267 . pl-3 float-left 268 div Codetree 269 class text-black text-bold mt-1 270 div Project Management 271 class f6 text-mono 272 . col-xs-12 col-md-6 col-lg-4 273 a 274 class card bg-gray-light p-4 mb-4 d-block clearfix 275 target _blank 276 href https://github.com/marketplace/appveyor 277 img 278 class float-left rounded-1 279 src ../assets/images/icon-appveyor.png 280 style width: 50px; 281 alt app-icon 282 . pl-3 float-left 283 div Appveyor 284 class text-black text-bold mt-1 285 div Continuous Integration 286 class f6 text-mono 287 . text-center mt-4 mb-5 288 a Browse GitHub Marketplace 289 class btn-outline btn 290 href http://github.com/marketplace 291 . bg-shade-gradient pt-6 292 . container 293 h2 294 class text-beta text-center mt-3 295 a 296 id stay-in-the-know 297 class anchor 298 href #stay-in-the-know 299 aria-hidden true 300 span 301 aria-hidden true 302 class octicon octicon-link 303 + Stay in the know 304 p Keep up to date with the latest updates to the GitHub API 305 class lead text-center mb-6 306 . card 307 . p-4 border-bottom 308 span New 309 class text-mono bg-blue text-white px-3 pt-1 rounded-1 float-right d-block 310 a Breaking changes to creating webhooks via the API 311 class text-gamma pr-6 d-block 312 href /changes/2017-08-09-breaking-changes-to-webhook-creation/ 313 span 314 class text-mono text-small mr-2 315 span 316 class octicon octicon-calendar text-gray-light mr-1 317 style margin-top: -3px; 318 + August 9, 2017 319 span 320 class text-mono text-small mr-2 321 span 322 class octicon text-gray-light mr-1 323 style margin-top: -3px; 324 img 325 height 16 326 width 16 327 src https://github.com/gjtorikian.png 328 alt Avatar for gjtorikian 329 data-proofer-ignore 330 a gjtorikian 331 class link-gray 332 href https://github.com/gjtorikian 333 data-proofer-ignore 334 span 335 class text-mono text-small mr-2 336 span 337 class octicon text-gray-light mr-1 338 style margin-top: -3px; 339 img 340 height 16 341 width 16 342 src https://github.com/bswinnerton.png 343 alt Avatar for bswinnerton 344 data-proofer-ignore 345 a bswinnerton 346 class link-gray 347 href https://github.com/bswinnerton 348 data-proofer-ignore 349 . p-4 border-bottom 350 a Preview team review requests API 351 class text-gamma pr-6 text-gray-dark d-block 352 style opacity: 0.8; 353 href /changes/2017-07-26-team-review-request-thor-preview/ 354 span 355 class text-mono text-small mr-2 356 span 357 class octicon octicon-calendar text-gray-light mr-1 358 style margin-top: -3px; 359 + July 26, 2017 360 span 361 class text-mono text-small mr-2 362 span 363 class octicon text-gray-light mr-1 364 style margin-top: -3px; 365 img 366 height 16 367 width 16 368 src https://github.com/nplasterer.png 369 alt Avatar for nplasterer 370 data-proofer-ignore 371 a nplasterer 372 class link-gray 373 href https://github.com/nplasterer 374 data-proofer-ignore 375 . p-4 border-bottom 376 a Upcoming routing changes for GitHub Apps (formerly Integrations) 377 class text-gamma pr-6 text-gray-dark d-block 378 style opacity: 0.8; 379 href /changes/2017-07-19-removal-of-integrations-routes/ 380 span 381 class text-mono text-small mr-2 382 span 383 class octicon octicon-calendar text-gray-light mr-1 384 style margin-top: -3px; 385 + July 19, 2017 386 span 387 class text-mono text-small mr-2 388 span 389 class octicon text-gray-light mr-1 390 style margin-top: -3px; 391 img 392 height 16 393 width 16 394 src https://github.com/davidcelis.png 395 alt Avatar for davidcelis 396 data-proofer-ignore 397 a davidcelis 398 class link-gray 399 href https://github.com/davidcelis 400 data-proofer-ignore 401 . p-4 border-bottom 402 a Repository API - read and replace topics for a repository 403 class text-gamma pr-6 text-gray-dark d-block 404 style opacity: 0.8; 405 href /changes/2017-07-17-update-topics-on-repositories/ 406 span 407 class text-mono text-small mr-2 408 span 409 class octicon octicon-calendar text-gray-light mr-1 410 style margin-top: -3px; 411 + July 17, 2017 412 span 413 class text-mono text-small mr-2 414 span 415 class octicon text-gray-light mr-1 416 style margin-top: -3px; 417 img 418 height 16 419 width 16 420 src https://github.com/kytrinyx.png 421 alt Avatar for kytrinyx 422 data-proofer-ignore 423 a kytrinyx 424 class link-gray 425 href https://github.com/kytrinyx 426 data-proofer-ignore 427 . p-4 border-bottom 428 a Installations API - updated routes for adding or removing a repository 429 class text-gamma pr-6 text-gray-dark d-block 430 style opacity: 0.8; 431 href /changes/2017-06-30-installations-adding-removing-a-repository/ 432 span 433 class text-mono text-small mr-2 434 span 435 class octicon octicon-calendar text-gray-light mr-1 436 style margin-top: -3px; 437 + June 30, 2017 438 span 439 class text-mono text-small mr-2 440 span 441 class octicon text-gray-light mr-1 442 style margin-top: -3px; 443 img 444 height 16 445 width 16 446 src https://github.com/keavy.png 447 alt Avatar for keavy 448 data-proofer-ignore 449 a keavy 450 class link-gray 451 href https://github.com/keavy 452 data-proofer-ignore 453 . p-4 border-bottom 454 a Protected Branches API becomes an official part of API v3 on September 1st 455 class text-gamma pr-6 text-gray-dark d-block 456 style opacity: 0.8; 457 href /changes/2017-06-16-loki-preview-ending-soon/ 458 span 459 class text-mono text-small mr-2 460 span 461 class octicon octicon-calendar text-gray-light mr-1 462 style margin-top: -3px; 463 + June 16, 2017 464 span 465 class text-mono text-small mr-2 466 span 467 class octicon text-gray-light mr-1 468 style margin-top: -3px; 469 img 470 height 16 471 width 16 472 src https://github.com/nplasterer.png 473 alt Avatar for nplasterer 474 data-proofer-ignore 475 a nplasterer 476 class link-gray 477 href https://github.com/nplasterer 478 data-proofer-ignore 479 . bg-blue py-3 mt-6 text-white 480 style margin-bottom:-30px; 481 . container 482 . row clearfix 483 style width: 100%; 484 . col-xs-12 col-12 col-md-6 py-3 d-xs-block 485 div Never miss an update! 486 class text-gamma pt-1 mb-0 text-white 487 p Join the newsletter to be informed of every new update. 488 class mb-0 text-small 489 style color: rgba(255,255,255,.7); 490 . col-xs-12 col-12 col-md-6 py-3 text-right d-xs-block 491 div 492 id mc_embed_signup 493 form 494 action //github.us11.list-manage.com/subscribe/post?u=9d7ced8c4bbd6c2f238673f0f&id=7d9164de9f 495 method post 496 id mc-embedded-subscribe-form 497 name mc-embedded-subscribe-form 498 class validate mt-md-2 499 target _blank 500 novalidate 501 . row clearfix gut-3 502 . col-12 col-md-8 503 . mc-field-group mb-3 mb-md-3 504 input 505 type email 506 value 507 name EMAIL 508 class required email form-control d-block 509 id mce-EMAIL 510 placeholder Your email 511 style height: 42px; width: 100%; 512 . col-12 col-md-4 513 . clear 514 input 515 type submit 516 value Join 517 name subscribe 518 id mc-embedded-subscribe 519 class btn btn-blue ml-0 text-center btn-block d-block 520 . clear clearfix text-small 521 id mce-responses 522 style color: rgba(255,255,255,.7); 523 . response mt-3 524 id mce-error-response 525 style display:none 526 . response mt-3 527 id mce-success-response 528 style display:none 529 div 530 style position: absolute; left: -5000px; 531 aria-hidden true 532 input 533 type text 534 name b_9d7ced8c4bbd6c2f238673f0f_7d9164de9f 535 tabindex -1 536 value 537 js //s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js 538 footer 539 class footer text-muted 540 . container 541 span © 2017 GitHub Inc. All rights reserved. 542 class footer-legal 543 span 544 class mega-octicon octicon-mark-github footer-mark 545 nav 546 class footer-nav 547 a Terms of service 548 class footer-nav-item 549 href https://help.github.com/articles/github-terms-of-service 550 a Privacy 551 class footer-nav-item 552 href https://github.com/site/privacy 553 a Security 554 class footer-nav-item 555 href https://github.com/security 556 a Support 557 class footer-nav-item 558 href https://github.com/support 559 script 560 $. 561 (function( i, s, o, g, r, a, m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){) 562 (i[r].q=i[r].q||[]).push( arguments)}, i[r].l=1*new Date();a=s.createElement(o)) 563 m=s.getElementsByTagName( o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a, m) 564 })( window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');) 565 ga( 'create', 'UA-3769691-37', 'github.com');) 566 ga( 'send', 'pageview');)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var item = obj1.items.length == 1 ? obj1.items[0] : null; 5 var obj2 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array2( &obj2) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object2( &obj2)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array2.html.ittf
1 $group 2 $params &obj2 3 $ 4 var item = obj2.items.length == 2 ? obj2.items[0] : null; 5 var obj3 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array3( &obj3) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object3( &obj3)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array3.html.ittf
1 $group 2 $params &obj3 3 $ 4 var item = obj3.items.length == 3 ? obj3.items[0] : null; 5 var obj4 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array4( &obj4) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object4( &obj4)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array4.html.ittf
1 $group 2 $params &obj4 3 $ 4 var item = obj4.items.length == 4 ? obj4.items[0] : null; 5 var obj5 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 ./array5( &obj5) 32 $if item.type === 'object' 33 tr 34 td 35 @ valign top 36 ./object5( &obj5)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/array5.html.ittf
1 $group 2 $params &obj5 3 $ 4 var item = obj5.items.length == 5 ? obj5.items[0] : null; 5 var obj6 = item; 6 $if item != null 7 table 8 tr 9 td item ${item.wzName} 10 @ valign top 11 td 12 @ valign top 13 span ${item.type} 14 $if item.type === 'object' 15 span { 16 $if item.type === 'array' 17 span [ 18 table 19 $if item.type.apiRef 20 tr 21 td api ref 22 @ valign top 23 td 24 @ valign top 25 a ${item.type.apiRef} 26 href #${item.type.apiRef} 27 $if item.type === 'array' 28 tr 29 td 30 @ valign top 31 h1 Sorry too deep in array5 32 $$ ./array6(&obj6) 33 $if item.type === 'object' 34 tr 35 td 36 @ valign top 37 h1 Sorry too deep in array5 38 $$ ./object6(&obj6)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/cb1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var obj2 = {}; 5 $if obj1.xarguments.length > 0 6 table 7 $foreach arg in obj1.xarguments 8 $ 9 obj2 = arg; 10 tr 11 td arg 12 @ valign top 13 td ${arg.wzName} 14 @ valign top 15 td ${arg.type} 16 @ valign top 17 $if arg.type === 'alternative' 18 table 19 $foreach v in arg.values 20 $ 21 obj2 = arg; 22 tr 23 td | ${v.wzName} 24 @ valign top 25 td 26 @ valign top 27 $if v.wzName != v.type 28 span ${v.type} 29 $if v.type === 'exception' && v.errors.length > 0 30 table 31 $foreach err in v.errors 32 tr 33 td ${err.wzName} 34 $else 35 table 36 $if v.apiRef 37 tr 38 td api ref 39 td 40 a ${v.apiRef} 41 href #${v.apiRef} 42 $if v.isPOJO 43 tr 44 td POJO 45 $if v.defaultValue 46 tr 47 td default 48 td ${v.defaultValue} 49 $if v.isRequired 50 tr 51 td required 52 $if v.iface 53 tr 54 td interface 55 td ${v.iface} 56 $if v.type === 'object' 57 tr 58 td 59 ./object2( &obj2) 60 $if v.type === 'array' 61 tr 62 td 63 ./array2( &obj2) 64 $elif arg.type === 'switch' 65 table 66 $foreach xon in arg.ons 67 tr 68 td | on ${xon.wzName} 69 @ valign top 70 table 71 $foreach v in xon.values 72 $ 73 obj2 = v; 74 tr 75 td ${v.wzName} 76 @ valign top 77 td 78 @ valign top 79 $if v.wzName != v.type 80 span ${v.type} 81 $group 82 table 83 $if v.apiRef 84 tr 85 td api ref 86 td 87 a ${v.apiRef} 88 href #${v.apiRef} 89 $if v.isPOJO 90 tr 91 td POJO 92 $if v.defaultValue 93 tr 94 td default 95 td ${v.defaultValue} 96 $if v.isRequired 97 tr 98 td required 99 $if v.iface 100 tr 101 td interface 102 td ${v.iface} 103 $if v.type === 'object' 104 tr 105 td 106 ./object2( &obj2) 107 $if v.type === 'array' 108 tr 109 td 110 ./array2( &obj2) 111 $else 112 td ${arg.wzName} 113 @ valign top 114 td ${arg.type} 115 @ valign top 116 table 117 $if arg.apiRef 118 tr 119 td api ref 120 td 121 a ${arg.apiRef} 122 href #${arg.apiRef} 123 $if arg.isPOJO 124 tr 125 td POJO 126 $if arg.defaultValue 127 tr 128 td default 129 td ${arg.defaultValue} 130 $if arg.isRequired 131 tr 132 td required 133 $if arg.iface 134 tr 135 td interface 136 td ${arg.iface} 137 $if arg.type === 'object' 138 tr 139 td 140 ./object2( &obj2) 141 $if arg.type === 'array' 142 tr 143 td 144 ./array2( &obj2)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object1.html.ittf
1 $group 2 $params &obj1 3 $ 4 var obj2 = {}; 5 $if obj1.properties.length > 0 6 table 7 $foreach prop in obj1.properties 8 $ 9 obj2 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object2( &obj2) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array2( &obj2)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object2.html.ittf
1 $group 2 $params &obj2 3 $ 4 var obj3 = {}; 5 $if obj2.properties.length > 0 6 table 7 $foreach prop in obj2.properties 8 $ 9 obj3 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object3( &obj3) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array3( &obj3)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object3.html.ittf
1 $group 2 $params &obj3 3 $ 4 var obj4 = {}; 5 $if obj3.properties.length > 0 6 table 7 $foreach prop in obj3.properties 8 $ 9 obj4 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object4( &obj4) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array4( &obj4)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object4.html.ittf
1 $group 2 $params &obj4 3 $ 4 var obj5 = {}; 5 $if obj4.properties.length > 0 6 table 7 $foreach prop in obj4.properties 8 $ 9 obj5 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 ./object5( &obj5) 45 $if prop.type === 'array' 46 tr 47 td 48 ./array5( &obj5)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/object5.html.ittf
1 $group 2 $params &obj5 3 $ 4 var obj6 = {}; 5 $if obj5.properties.length > 0 6 table 7 $foreach prop in obj5.properties 8 $ 9 obj6 = prop; 10 tr 11 td ${prop.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${prop.type} 16 $if prop.type === 'object' 17 span { 18 $if prop.type === 'array' 19 span [ 20 table 21 $if prop.isPOJO 22 tr 23 td POJO 24 $if prop.defaultValue 25 tr 26 td default 27 td ${prop.defaultValue} 28 $if prop.isRequired 29 tr 30 td required 31 $if prop.iface 32 tr 33 td interface 34 td ${prop.iface} 35 $if prop.apiRef 36 tr 37 td api ref 38 td 39 a ${prop.apiRef} 40 href #${prop.apiRef} 41 $if prop.type === 'object' 42 tr 43 td 44 h1 Sorry too deep in object5 45 $$ ./object6(&obj6) 46 $if prop.type === 'array' 47 tr 48 td 49 h1 Sorry too deep in object5 50 $$ ./array6(&obj6)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/t/type.html.ittf
1 $group 2 $params &api, &type 3 $ 4 var obj1 = {}; 5 $if type.properties.length > 0 6 table 7 $foreach p in type.properties 8 tr 9 td property 10 @ valign top 11 td ${p.wzName} 12 @ valign top 13 td 14 @ valign top 15 span ${p.type} 16 $if p.type === 'object' 17 span { 18 $if p.type === 'array' 19 span [ 20 table 21 $if p.comments.length > 0 22 tr 23 td 24 $foreach c in p.comments 25 span ${c.wzName} 26 br 27 $if p.apiRef 28 tr 29 td api ref 30 @ valign top 31 td 32 @ valign top 33 a ${p.apiRef} 34 href #${p.apiRef} 35 $if p.type === 'object' 36 $ 37 obj1 = p; 38 tr 39 td 40 @ valign top 41 ./object1( &obj1) 42 $if p.type === 'array' 43 $ 44 obj1 = p; 45 tr 46 td 47 @ valign top 48 ./array1( &obj1) 49 $if type.methods.length > 0 50 table 51 $foreach m in type.methods 52 tr 53 style border-top: 1px solid gray; 54 td method 55 @ valign top 56 td ${api.wzName}.${m.wzName} 57 @ valign top 58 table 59 tr 60 td type 61 td 62 @ valign top 63 @ colspan 3 64 $if m.isAsync 65 span async 66 span ${m.type} 67 $if m.isInternal 68 tr 69 td internal method 70 $if m.implementedBy 71 tr 72 td implemented by 73 td 74 @ valign top 75 @ colspan 3 76 a ${m.implementedBy} 77 href #${m.implementedBy} 78 $if m.calledBy 79 tr 80 td called by 81 td 82 @ valign top 83 @ colspan 3 84 a ${m.calledBy} 85 href #${m.calledBy} 86 $if m.throwIf 87 tr 88 td throw if 89 td ${m.throwIf} 90 @ valign top 91 @ colspan 3 92 $if m.params.length > 0 93 $foreach p in m.params 94 $ 95 obj1 = p; 96 tr 97 td param 98 @ valign top 99 td ${p.wzName} 100 @ valign top 101 td 102 @ valign top 103 span ${p.type} 104 $if p.type === 'object' 105 span { 106 $if p.type === 'array' 107 span [ 108 $if p.comments.length > 0 109 tr 110 td 111 $foreach c in p.comments 112 span ${c.wzName} 113 br 114 table 115 $if p.apiRef 116 tr 117 td api ref: 118 td 119 a ${p.apiRef} 120 href #${p.apiRef} 121 $if p.isPOJO 122 tr 123 td POJO 124 $if p.defaultValue 125 tr 126 td default 127 td ${p.defaultValue} 128 $if p.isRequired 129 tr 130 td required 131 $if p.iface 132 tr 133 td interface 134 td ${p.iface} 135 $if p.type === 'object' 136 tr 137 td 138 ./object1( &obj1) 139 $if p.type === 'array' 140 tr 141 td 142 ./array1( &obj1) 143 $if p.type === 'callback-function' 144 tr 145 td 146 ./cb1( &obj1) 147 $if m.info 148 tr 149 td info 150 @ valign top 151 td 152 @ valign top 153 @ colspan 2 154 table 155 $foreach c in m.info.comments 156 tr 157 td ${c.wzName} 158 @ colspan 2 159 $foreach it in m.info.infoItems 160 tr 161 td ${it.wzTag} 162 td ${it.wzName} 163 $foreach it2 in it.infoItems 164 tr 165 td ${it2.wzTag} 166 style padding-left: 15px; 167 td ${it2.wzName} 168 style padding-left: 15px; 169 $foreach it3 in it2.infoItems 170 tr 171 td ${it3.wzTag} 172 style padding-left: 30px; 173 td ${it3.wzName} 174 style padding-left: 30px; 175 $if it3.infoItems.length > 0 176 h1 Sorry to deep info items 177 $if m.return 178 tr 179 td return 180 @ valign top 181 td 182 @ valign top 183 table 184 $foreach v in m.return.values 185 $ 186 obj1 = v; 187 tr 188 td ${v.wzName} 189 @ valign top 190 td ${v.type} 191 @ valign top 192 table 193 $if v.apiRef 194 tr 195 td api ref: 196 td 197 a ${v.apiRef} 198 href #${v.apiRef} 199 $if v.isPOJO 200 tr 201 td POJO 202 $if v.defaultValue 203 tr 204 td default 205 td ${v.defaultValue} 206 $if v.isRequired 207 tr 208 td required 209 $if v.iface 210 tr 211 td interface 212 td ${v.iface} 213 $if v.type === 'object' 214 tr 215 td 216 ./object1( &obj1) 217 $if v.type === 'array' 218 tr 219 td 220 ./array1( &obj1) 221 $if v.type === 'callback-function' 222 tr 223 td 224 ./cb1( &obj1)
/src/ittf/jobs/ittf__copy/docs/html/_old_api/wf-api.html.ittf
1 layout( api ) 2 $ 3 var type = {}; 4 div 5 class main-sidebar-left 6 section 7 id main-toc 8 class toc 9 h3 Contents: 10 ol 11 $foreach api in wfpackage.apis 12 li 13 a ${api.wzName} 14 href #${api.wzName} 15 div 16 class main-content 17 $foreach api in wfpackage.apis 18 h1 ${api.kind} API: ${api.wzName} 19 @ name ${api.wzName} 20 @ id ${api.wzName} 21 table 22 $if api.implementation 23 tr 24 td implementation 25 td ${api.implementation.type} 26 $if api.implementation.path 27 tr 28 td path 29 @ valign top 30 td ${api.implementation.path} 31 @ valign top 32 $if api.implementation.standardPath 33 tr 34 td standard path 35 @ valign top 36 td ${api.implementation.standardPath} 37 @ valign top 38 $if api.interface 39 h3 Interface 40 hr 41 $ 42 type = api.interface; 43 type( &api, &type) 44 $else 45 h3 Type 46 hr 47 $ 48 type = api.type; 49 type( &api, &type)
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/accordion_item.ittf
1 . panel panel-default 2 $params id, label, accordionid|accordion 3 . panel-heading 4 h4 5 class panel-title 6 a ${label} 7 data-toggle collapse 8 data-parent ${accordionid} 9 href #${id} 10 aria-controls ${id} 11 aria-expanded false 12 . panel-collapse collapse // in 13 id ${id} 14 . panel-body 15 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/accordion.ittf
1 . panel-group 2 $params id|accordion 3 id ${id} 4 role tablist 5 aria-multiselectable true
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/breadcrumb.ittf
1 ul 2 class breadcrumb list-inline
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn-image.ittf
1 button 2 $params cssName, title 3 type button 4 id btn${cssName} 5 class btn ${cssName} 6 $if title 7 title ${title}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn-tooltip.ittf
1 button ${text} 2 $params text, title, placement|top 3 type button 4 class btn btn-default 5 data-toggle tooltip 6 data-placement ${placement} 7 $if title 8 title ${title}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/btn.ittf
1 button ${label} 2 $params label, kind|default, id|@@null 3 type submit 4 class btn btn-${kind} 5 $if id !== null 6 id ${id}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_item_active.ittf
1 div 2 $params w|900, h|500, text|@@null 3 class item active 4 img 5 data-src holder.js/${w}x${h}/auto/#555:#5a5a5a/text:${text || ''} 6 alt ${text} 7 . container 8 . carousel-caption 9 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_item.ittf
1 div 2 $params w|900, h|500, text|@@null 3 class item 4 img 5 data-src holder.js/${w}x${h}/auto/#555:#5a5a5a/text:${text || ''} 6 alt ${text} 7 . container 8 . carousel-caption 9 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel_to.ittf
1 li 2 $params id, to, active|@@null 3 data-target #${id} 4 data-slide-to ${to} 5 $if active 6 class ${active}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/carousel.ittf
1 . carousel slide 2 $params id 3 id ${id} 4 data-ride carousel 5 ol 6 class carousel-indicators 7 $hook indicators 8 . carousel-inner 9 $hook inner 10 a 11 class left carousel-control 12 href #${id} 13 data-slide prev 14 span 15 class glyphicon glyphicon-chevron-left 16 a 17 class right carousel-control 18 href #${id} 19 data-slide next 20 span 21 class glyphicon glyphicon-chevron-right
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a_divider.ittf
1 li 2 $params text, href 3 tabindex -1 4 a ${text} 5 href ${href} 6 span 7 class divider
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a_id.ittf
1 li 2 $params text, href, id, clazz|list-group-item 3 class ${clazz} 4 tabindex -1 5 a ${text} 6 id ${id} 7 href ${href}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_a.ittf
1 li 2 $params text, href, clazz|list-group-item 3 class ${clazz} 4 tabindex -1 5 a ${text} 6 href ${href}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/li_active.ittf
1 li ${text} 2 $params text 3 class list-group-item active
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/list_group.ittf
1 ul 2 class list-group
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/list_item.ittf
1 li 2 class list-group-item
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar_fixed_top.ittf
1 . navbar navbar-default navbar-fixed-top 2 $params brand 3 role navigation 4 . container-fluid 5 . navbar-header 6 a ${brand} 7 class navbar-brand 8 href #
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar_text_logo.ittf
1 . navbar-header 2 $params label, href, target 3 style margin-left:50px; 4 button 5 type button 6 class navbar-toggle 7 data-toggle collapse 8 data-target #${target} 9 span Toggle navigation 10 class sr-only 11 span 12 class icon-bar 13 span 14 class icon-bar 15 span 16 class icon-bar 17 a ${label} 18 class navbar-brand 19 href ${href}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/navbar.ittf
1 nav 2 class navbar navbar-inverse navbar-fixed-top $* navbar-default * 3 role navigation 4 . container-fluid 5 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/pane.ittf
1 div 2 $params id, active|@@null 3 class tab-pane ${active} 4 id ${id}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/panes.ittf
1 div 2 class tab-content
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/row_col_form.ittf
1 . row 2 $params id, width|8, orient|horizontal, method|@@null, action|@@null 3 . col-md-${width} 4 form 5 id ${id} 6 class form-${orient} 7 role form 8 $if method 9 method ${method} 10 $if action 11 action ${action} 12 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/tab.ittf
1 li 2 $params label, href, active|@@null 3 class ${active} 4 a ${label} 5 href #${href} 6 data-toggle tab
/src/ittf/jobs/ittf__copy/docs/html/schema/t/bs/tabs.ittf
1 ul 2 class nav nav-tabs
/src/ittf/jobs/ittf__copy/docs/html/schema/t/_style.html.ittf
1 @style 2 $. 3 body { 4 font-family: verdana; 5 font-size: 13px; 6 } 7 .main-left { 8 position: fixed; 9 margin-left: 5%; 10 top: 80px; 11 width: 20%; 12 height: 80%; 13 background: #eee; 14 overflow: auto; 15 } 16 .main-center { 17 top: 80px; 18 margin-left: 30%; 19 height: 80%; 20 width: 50%; 21 position: fixed; 22 overflow: auto; 23 z-index: 1; 24 } 25 .well { 26 border: solid 1px #aaa; 27 } 28 .pretty-table { border: 1px solid #333; width: 100%; margin-top: 30px; } 29 .pretty-table th, .pretty-table td { border: 1px dotted #666; } 30 .pretty-table-2 { border: 1px solid #999; width: 100%; margin-top: 20px; }
/src/ittf/jobs/ittf__copy/docs/html/schema/t/attributes.html.ittf
1 $group 2 h6 Attributes 3 small 4 table 5 class wfschema-a-table 6 tbody 7 $foreach attribute in element.attributes 8 tr 9 style border-top: 1px solid #ccc; 10 td ${attribute.name} 11 class wfschema-a-name 12 td ${attribute.tags.join('|')} 13 td ${attribute.type} 14 td ${attribute.inheritedFrom} 15 td 16 $if attribute.comments.length > 0 17 . wfschema-comment 18 $foreach comment in attribute.comments 19 div ${comment} 20 br 21 $if attribute.default 22 span default: ${attribute.default} 23 br 24 $if attribute.flags 25 span flags: ${attribute.flags} 26 $if attribute.restricts.length > 0 27 $foreach restrict in attribute.restricts 28 table 29 $foreach facet in restrict.facets 30 tr 31 td ${facet.type} 32 td ${facet.value} 33 td 34 $foreach comment in facet.comments 35 div ${comment}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/h2panel.html.ittf
1 . panel panel-primary 2 $params title 3 . panel-heading 4 h3 ${title} 5 class panel-title 6 div 7 class panel-body 8 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/methods.html.ittf
1 $group 2 h6 Methods 3 small 4 table( 100 ) 5 $* 6 thead 7 tr 8 th Signature 9 th Statements 10 *$ 11 tbody 12 $foreach method in element.methods 13 tr 14 td 15 div ${method.name} 16 $if method.comments.length > 0 17 . wfschema-comment 18 $foreach comment in method.comments 19 div ${comment} 20 td 21 pre 22 style color: #ffffde; 23 $foreach stm in method.statements 24 div ${stm.tag} ${stm.value} 25 $foreach stm2 in stm.statements 26 div ${stm2.tag} ${stm2.value} 27 $foreach stm3 in stm2.statements 28 div ${stm3.tag} ${stm3.value} 29 $foreach stm4 in stm3.statements 30 div ${stm4.tag} ${stm4.value}
/src/ittf/jobs/ittf__copy/docs/html/schema/t/relations.html.ittf
1 $group 2 h6 Relations 3 small 4 table 5 class wfschema-a-table 6 tbody 7 $foreach relation in element.relations 8 tr 9 td ${relation.name} 10 td ${relation.role} 11 td ${relation.cardinality} 12 td ${relation.inheritedFrom} 13 td 14 $if relation.comments.length > 0 15 . wfschema-comments 16 $foreach comment in relation.comments 17 div ${comment} 18 br 19 $if relation.flags 20 span ${relation.flags} 21 br
/src/ittf/jobs/ittf__copy/docs/html/schema/t/table.html.ittf
1 table 2 $params width 3 class table table-condensed table-bordered 4 style width:${width}%; 5 $hook
/src/ittf/jobs/ittf__copy/docs/html/schema/t/tr_prop.html.ittf
1 tr 2 $params name, value, highlight|@@null 3 td 4 span ${name} 5 td 6 $if highlight == null 7 span ${value} 8 $else 9 h4 ${value}
/src/ittf/jobs/ittf__copy/docs/html/schema/wf-schema.html.ittf
1 layout( docs, ${wfschema.name} ) 2 $append styles 3 css wfschema-styles.css 4 nav_sidebar() 5 section 6 id main-toc 7 class toc 8 h3 Elements 9 ol 10 $foreach element in wfschema.elements 11 li 12 a ${element.name} 13 href #element_${element.name} 14 div 15 class main-content 16 h1 Schema ${wfschema.name} 17 style margin-bottom: 20px; 18 $if wfschema.requires.length > 0 19 h5 Require 20 $foreach require in wfschema.requires 21 div require ${require.name} 22 $if require.declareVar 23 span declare-var: ${require.declareVar} 24 $if wfschema.exportTos.length > 0 25 $foreach exportTo in wfschema.exportTos 26 div 27 span export to 28 class wfschema-label 29 span ${exportTo} 30 $foreach element in wfschema.elements 31 . wfschema-e-panel 32 id element_${element.name} 33 span element 34 class wfschema-label 35 span ${element.name} 36 class wfschema-e-name 37 $if element.tag 38 span tag 39 class wfschema-label 40 span ${element.tags.join('|')} 41 class wfschema-e-name 42 $if element.super 43 span super 44 class wfschema-label 45 span ${element.super} 46 class wfschema-e-name 47 $if element.flags 48 span flags 49 class wfschema-label 50 span ${element.flags} 51 class wfschema-e-name 52 $if element.isRoot 53 span is-root 54 class wfschema-e-name 55 $elif element.isRoot 56 span flags 57 class wfschema-label 58 span is-root 59 class wfschema-e-name 60 $if element.comments.length > 0 61 . wfschema-comment 62 $foreach comment in element.comments 63 div ${comment} 64 $if element.attributes.length > 0 65 $include attributes 66 $if element.relations.length > 0 67 $include relations 68 $if element.methods.length > 0 69 $include methods
/src/ittf/jobs/ittf__copy/docs/html/schema/wfschema-docs-new.html.ittf
1 html 2 head 3 @title WizziSchema ${schema.name} 4 bs_css() 5 body 6 . jumbotron 7 style text-align: center; 8 h1 WizziSchema ${schema.name} 9 . container 10 . row 11 . col-md-2 12 bs/list_group() 13 $* 14 $foreach element in schema.elements 15 bs/li_a( ${element.name}, #table_${element.name} ) 16 *$ 17 . col-md-8 18 $if schema.requires.length > 0 19 h5 Require 20 $foreach require in schema.requires 21 div require ${require.name} 22 $if require.declareVar 23 span declare-var: ${require.declareVar} 24 $if schema.exportTos.length > 0 25 h5 Exports 26 $foreach exportTo in schema.exportTos 27 div ${exportTo.name} 28 $foreach element in schema.elements 29 h2panel( Element ${element.name} ) 30 small 31 table( 70 ) 32 id element_${element.name} 33 class pretty-table 34 thead 35 tr 36 th Element 37 th Tag 38 th Super 39 th Flags 40 tbody 41 tr 42 td 43 b ${element.name} 44 $if element.tags 45 td ${element.tags.join('|')} 46 td ${element.super} 47 td ${element.flags} 48 $if element.comments.length > 0 49 h5 Description 50 div 51 $foreach comment in element.comments 52 span ${comment} 53 $if element.attributes.length > 0 54 $include attributes 55 $if element.relations.length > 0 56 $include relations 57 $if element.methods.length > 0 58 $include methods
/src/ittf/jobs/ittf__copy/docs/html/schema/wfschema-docs.html.ittf
1 html 2 head 3 @title Wizzi schema ${schema.name} 4 $include _style 5 body 6 . main 7 h1 Wizzi schema ${schema.name} 8 . main-left 9 ul 10 $foreach element in schema.elements 11 li 12 a ${element.name} 13 href #element_${element.name} 14 . main-center 15 $if schema.requires.length > 0 16 h5 Require 17 $foreach require in schema.requires 18 div require ${require.name} 19 $if require.declareVar 20 span declare-var: ${require.declareVar} 21 $if schema.exportTos.length > 0 22 h5 Exports 23 $foreach exportTo in schema.exportTos 24 div ${exportTo.name} 25 $foreach element in schema.elements 26 table 27 id element_${element.name} 28 class pretty-table 29 thead 30 tr 31 th Element 32 th Tag 33 th Super 34 th Flags 35 tbody 36 tr 37 td 38 b ${element.name} 39 $if element.tags 40 td ${element.tags.join('|')} 41 td ${element.super} 42 td ${element.flags} 43 $if element.comments.length > 0 44 h5 Description 45 div 46 $foreach comment in element.comments 47 span ${comment} 48 $if element.attributes.length > 0 49 $include attributes 50 $if element.relations.length > 0 51 $include relations 52 $if element.methods.length > 0 53 $include methods
/src/ittf/jobs/ittf__copy/docs/html/stylesheets/css/styles1.css.ittf
1 css 2 $include site 3 $include logo 4 $include reset 5 $include a 6 $include icons 7 $include container 8 $include navigation 9 $include navigation-search
/src/ittf/jobs/ittf__copy/docs/html/stylesheets/t/defs.ittf
1 $group 2 $ 3 var iconDefs = [ 4 { name: 'icon-chevron-down', code: 'F101'}, 5 { name: 'icon-chevron-left', code: 'F102'}, 6 { name: 'icon-chevron-right', code: 'F103'}, 7 { name: 'icon-chevron-up', code: 'F104'}, 8 { name: 'icon-chevron-cross', code: 'F105'}, 9 { name: 'icon-edit', code: 'F106'}, 10 { name: 'icon-exit-right', code: 'F107'}, 11 { name: 'icon-github', code: 'F108'}, 12 { name: 'icon-gitter', code: 'F109'}, 13 { name: 'icon-link', code: 'F10A'}, 14 { name: 'icon-link', code: 'F10A'}, 15 { name: 'icon-magnifying-glass', code: 'F10B'}, 16 { name: 'icon-medium', code: 'F10C'}, 17 { name: 'icon-menu', code: 'F10D'}, 18 { name: 'icon-stack-overflow', code: 'F10E'}, 19 { name: 'icon-vertical-bar', code: 'F10F'}, 20 ]; 21 // http://paletton.com/#uid=33s0u0kllllqQfZo5iFiAo1fQqH 22 var color0 = '#103C51'; 23 var color1 = '#1B485E'; 24 var color2 = '#27556C'; 25 var color3 = '#366379'; 26 var color4 = '#477287'; 27 var color5 = '#375277'; 28 var color10 = '#7F6215'; 29 var color11 = '#957625'; 30 var color12 = '#AA8B39'; 31 var color13 = '#BFA150'; 32 var color14 = '#D5B86B'; 33 var color20 = '#7F2B15'; 34 var color21 = '#953C25'; 35 var color22 = '#AA5039'; 36 var color23 = '#BF6750'; 37 var color24 = '#D5816B'; 38 var navLinkUCase = true; 39 var navChildUCase = false; 40 var navLinkFontSize = 14; 41 var navChildFontSize = 15; 42 var logoWord = ['w', 'i', 'z', 'z', 'i', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'y']; 43 var logoClass = ['w', 'i1', 'z1', 'z2', 'i2', 'blank', 'f', 'a', 'c', 't', 'o', 'r', 'y'];
/src/ittf/jobs/ittf__copy/docs/html/stylesheets/style1.html - Copia.ittf
1 html 2 head 3 meta 4 charset UTF-8 5 @title Configuration 6 meta 7 name description 8 content webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. 9 meta 10 name viewport 11 content width=device-width, initial-scale=1 12 meta 13 name theme-color 14 content #2B3A42 15 link 16 rel shortcut icon 17 href /assets/favicon.ico 18 link 19 href https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:200,400,400i,500 20 rel stylesheet 21 link 22 rel stylesheet 23 href https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css 24 link 25 href /e68f1ff8a8d9ac198193.css 26 rel stylesheet 27 js https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js 28 body 29 . site 30 id site 31 . interactive 32 id components/notification-bar/notification-bar.jsx 33 data-props {} 34 . notification-bar 35 . interactive 36 id components/navigation/navigation.jsx 37 data-props {"sections":[{"url":"get-started","pages":[]},{"title":"Concepts","url":"concepts","pages":[{"title":"Entry Points","url":"concepts/entry-points"},{"title":"Output","url":"concepts/output"},{"title":"Loaders","url":"concepts/loaders"},{"title":"Plugins","url":"concepts/plugins"},{"title":"Configuration","url":"concepts/configuration"},{"title":"Modules","url":"concepts/modules"},{"title":"Module Resolution","url":"concepts/module-resolution"},{"title":"Dependency Graph","url":"concepts/dependency-graph"},{"title":"The Manifest","url":"concepts/manifest"},{"title":"Targets","url":"concepts/targets"},{"title":"Hot Module Replacement","url":"concepts/hot-module-replacement"}]},{"title":"Guides","url":"guides","pages":[{"title":"Installation","url":"guides/installation"},{"title":"Getting Started","url":"guides/getting-started"},{"title":"Asset Management","url":"guides/asset-management"},{"title":"Output Management","url":"guides/output-management"},{"title":"Development","url":"guides/development"},{"title":"Hot Module Replacement","url":"guides/hot-module-replacement"},{"title":"Production","url":"guides/production"},{"title":"Tree Shaking","url":"guides/tree-shaking"},{"title":"Code Splitting","url":"guides/code-splitting"},{"title":"Lazy Loading","url":"guides/lazy-loading"},{"title":"Caching","url":"guides/caching"},{"title":"Authoring Libraries","url":"guides/author-libraries"},{"title":"Shimming","url":"guides/shimming"},{"title":"TypeScript","url":"guides/typescript"},{"title":"Migrating from v1 to v2","url":"guides/migrating"},{"title":"Environment Variables","url":"guides/environment-variables"},{"title":"Development - Vagrant","url":"guides/development-vagrant"},{"title":"Dependency Management","url":"guides/dependency-management"},{"title":"Public Path","url":"guides/public-path"},{"title":"Integrations","url":"guides/integrations"}]},{"title":"Starter Kits","url":"guides/starter-kits","pages":[]},{"title":"Development","url":"development","pages":[{"title":"How to write a plugin?","url":"development/how-to-write-a-plugin"},{"title":"Useful Plugin Patterns","url":"development/plugin-patterns"},{"title":"How to write a loader?","url":"development/how-to-write-a-loader"},{"title":"webpack merge, tag and release process","url":"development/release-process"}]},{"title":"Configuration","url":"configuration","pages":[{"title":"Configuration Languages","url":"configuration/configuration-languages"},{"title":"Configuration Types","url":"configuration/configuration-types"},{"title":"Entry and Context","url":"configuration/entry-context"},{"title":"Output","url":"configuration/output"},{"title":"Module","url":"configuration/module"},{"title":"Resolve","url":"configuration/resolve"},{"title":"Plugins","url":"configuration/plugins"},{"title":"DevServer","url":"configuration/dev-server"},{"title":"Devtool","url":"configuration/devtool"},{"title":"Target","url":"configuration/target"},{"title":"Watch and WatchOptions","url":"configuration/watch"},{"title":"Externals","url":"configuration/externals"},{"title":"Node","url":"configuration/node"},{"title":"Performance","url":"configuration/performance"},{"title":"Stats","url":"configuration/stats"},{"title":"Other Options","url":"configuration/other-options"}]},{"title":"API","url":"api","pages":[{"title":"Stats JSON","url":"api/stats"},{"title":"Command Line Interface (CLI)","url":"api/cli"},{"title":"Module API - Methods","url":"api/module-methods"},{"title":"Module API - Variables","url":"api/module-variables"},{"title":"Node.js API","url":"api/node"},{"title":"Loader API","url":"api/loaders"},{"title":"Hot Module Replacement","url":"api/hot-module-replacement"}]},{"title":"API","url":"api/plugins","pages":[{"title":"Tapable","url":"api/plugins/tapable"},{"title":"Compiler","url":"api/plugins/compiler"},{"title":"Compilation","url":"api/plugins/compilation"},{"title":"Context/Normal Module Factories","url":"api/plugins/module-factories"},{"title":"Resolver","url":"api/plugins/resolver"},{"title":"Dependency","url":"api/plugins/dependency"},{"title":"Parser","url":"api/plugins/parser"},{"title":"Templates","url":"api/plugins/template"}]},{"url":"pluginsapi","pages":[]},{"title":"Loaders","url":"loaders","pages":[{"title":"babel-loader","url":"loaders/babel-loader"},{"title":"bundle-loader","url":"loaders/bundle-loader"},{"title":"cache-loader","url":"loaders/cache-loader"},{"title":"coffee-loader","url":"loaders/coffee-loader"},{"title":"coffee-redux-loader","url":"loaders/coffee-redux-loader"},{"title":"coverjs-loader","url":"loaders/coverjs-loader"},{"title":"css-loader","url":"loaders/css-loader"},{"title":"exports-loader","url":"loaders/exports-loader"},{"title":"expose-loader","url":"loaders/expose-loader"},{"title":"extract-loader","url":"loaders/extract-loader"},{"title":"file-loader","url":"loaders/file-loader"},{"title":"gzip-loader","url":"loaders/gzip-loader"},{"title":"html-loader","url":"loaders/html-loader"},{"title":"i18n-loader","url":"loaders/i18n-loader"},{"title":"imports-loader","url":"loaders/imports-loader"},{"title":"istanbul-instrumenter-loader","url":"loaders/istanbul-instrumenter-loader"},{"title":"jshint-loader","url":"loaders/jshint-loader"},{"title":"json-loader","url":"loaders/json-loader"},{"title":"json5-loader","url":"loaders/json5-loader"},{"title":"less-loader","url":"loaders/less-loader"},{"title":"mocha-loader","url":"loaders/mocha-loader"},{"title":"multi-loader","url":"loaders/multi-loader"},{"title":"node-loader","url":"loaders/node-loader"},{"title":"null-loader","url":"loaders/null-loader"},{"title":"polymer-webpack-loader","url":"loaders/polymer-webpack-loader"},{"title":"postcss-loader","url":"loaders/postcss-loader"},{"title":"raw-loader","url":"loaders/raw-loader"},{"title":"react-proxy-loader","url":"loaders/react-proxy-loader"},{"title":"restyle-loader","url":"loaders/restyle-loader"},{"title":"sass-loader","url":"loaders/sass-loader"},{"title":"script-loader","url":"loaders/script-loader"},{"title":"source-map-loader","url":"loaders/source-map-loader"},{"title":"style-loader","url":"loaders/style-loader"},{"title":"svg-inline-loader","url":"loaders/svg-inline-loader"},{"title":"thread-loader","url":"loaders/thread-loader"},{"title":"transform-loader","url":"loaders/transform-loader"},{"title":"url-loader","url":"loaders/url-loader"},{"title":"val-loader","url":"loaders/val-loader"},{"title":"worker-loader","url":"loaders/worker-loader"},{"title":"yaml-frontmatter-loader","url":"loaders/yaml-frontmatter-loader"}]},{"title":"Plugins","url":"plugins","pages":[{"title":"MinChunkSizePlugin","url":"plugins/min-chunk-size-plugin"},{"title":"AggressiveSplittingPlugin","url":"plugins/aggressive-splitting-plugin"},{"title":"BabiliWebpackPlugin","url":"plugins/babili-webpack-plugin"},{"title":"BannerPlugin","url":"plugins/banner-plugin"},{"title":"CommonsChunkPlugin","url":"plugins/commons-chunk-plugin"},{"title":"ComponentWebpackPlugin","url":"plugins/component-webpack-plugin"},{"title":"CompressionWebpackPlugin","url":"plugins/compression-webpack-plugin"},{"title":"ContextReplacementPlugin","url":"plugins/context-replacement-plugin"},{"title":"DefinePlugin","url":"plugins/define-plugin"},{"title":"DllPlugin","url":"plugins/dll-plugin"},{"title":"EnvironmentPlugin","url":"plugins/environment-plugin"},{"title":"ExtractTextWebpackPlugin","url":"plugins/extract-text-webpack-plugin"},{"title":"HashedModuleIdsPlugin","url":"plugins/hashed-module-ids-plugin"},{"title":"HotModuleReplacementPlugin","url":"plugins/hot-module-replacement-plugin"},{"title":"HtmlWebpackPlugin","url":"plugins/html-webpack-plugin"},{"title":"I18nWebpackPlugin","url":"plugins/i18n-webpack-plugin"},{"title":"IgnorePlugin","url":"plugins/ignore-plugin"},{"title":"LimitChunkCountPlugin","url":"plugins/limit-chunk-count-plugin"},{"title":"LoaderOptionsPlugin","url":"plugins/loader-options-plugin"},{"title":"NamedModulesPlugin","url":"plugins/named-modules-plugin"},{"title":"NoEmitOnErrorsPlugin","url":"plugins/no-emit-on-errors-plugin"},{"title":"NormalModuleReplacementPlugin","url":"plugins/normal-module-replacement-plugin"},{"title":"NpmInstallWebpackPlugin","url":"plugins/npm-install-webpack-plugin"},{"title":"PrefetchPlugin","url":"plugins/prefetch-plugin"},{"title":"ProvidePlugin","url":"plugins/provide-plugin"},{"title":"SourceMapDevToolPlugin","url":"plugins/source-map-dev-tool-plugin"},{"title":"UglifyjsWebpackPlugin","url":"plugins/uglifyjs-webpack-plugin"},{"title":"WatchIgnorePlugin","url":"plugins/watch-ignore-plugin"},{"title":"ZopfliWebpackPlugin","url":"plugins/zopfli-webpack-plugin"}]},{"title":"Support","url":"support","pages":[]},{"url":"vote","pages":[]},{"url":"vote/feedback","pages":[]},{"url":"vote/moneyDistribution","pages":[]},{"url":"organization","pages":[]},{"title":"Other","url":"/","pages":[]}],"pageUrl":"configuration/"} 38 header 39 class navigation 40 . interactive 41 id components/sidebar-mobile/sidebar-mobile.jsx 42 data-props {"sections":[{"url":"get-started","pages":[]},{"title":"Concepts","url":"concepts","pages":[{"title":"Entry Points","url":"concepts/entry-points"},{"title":"Output","url":"concepts/output"},{"title":"Loaders","url":"concepts/loaders"},{"title":"Plugins","url":"concepts/plugins"},{"title":"Configuration","url":"concepts/configuration"},{"title":"Modules","url":"concepts/modules"},{"title":"Module Resolution","url":"concepts/module-resolution"},{"title":"Dependency Graph","url":"concepts/dependency-graph"},{"title":"The Manifest","url":"concepts/manifest"},{"title":"Targets","url":"concepts/targets"},{"title":"Hot Module Replacement","url":"concepts/hot-module-replacement"}]},{"title":"Guides","url":"guides","pages":[{"title":"Installation","url":"guides/installation"},{"title":"Getting Started","url":"guides/getting-started"},{"title":"Asset Management","url":"guides/asset-management"},{"title":"Output Management","url":"guides/output-management"},{"title":"Development","url":"guides/development"},{"title":"Hot Module Replacement","url":"guides/hot-module-replacement"},{"title":"Production","url":"guides/production"},{"title":"Tree Shaking","url":"guides/tree-shaking"},{"title":"Code Splitting","url":"guides/code-splitting"},{"title":"Lazy Loading","url":"guides/lazy-loading"},{"title":"Caching","url":"guides/caching"},{"title":"Authoring Libraries","url":"guides/author-libraries"},{"title":"Shimming","url":"guides/shimming"},{"title":"TypeScript","url":"guides/typescript"},{"title":"Migrating from v1 to v2","url":"guides/migrating"},{"title":"Environment Variables","url":"guides/environment-variables"},{"title":"Development - Vagrant","url":"guides/development-vagrant"},{"title":"Dependency Management","url":"guides/dependency-management"},{"title":"Public Path","url":"guides/public-path"},{"title":"Integrations","url":"guides/integrations"}]},{"title":"Starter Kits","url":"guides/starter-kits","pages":[]},{"title":"Development","url":"development","pages":[{"title":"How to write a plugin?","url":"development/how-to-write-a-plugin"},{"title":"Useful Plugin Patterns","url":"development/plugin-patterns"},{"title":"How to write a loader?","url":"development/how-to-write-a-loader"},{"title":"webpack merge, tag and release process","url":"development/release-process"}]},{"title":"Configuration","url":"configuration","pages":[{"title":"Configuration Languages","url":"configuration/configuration-languages"},{"title":"Configuration Types","url":"configuration/configuration-types"},{"title":"Entry and Context","url":"configuration/entry-context"},{"title":"Output","url":"configuration/output"},{"title":"Module","url":"configuration/module"},{"title":"Resolve","url":"configuration/resolve"},{"title":"Plugins","url":"configuration/plugins"},{"title":"DevServer","url":"configuration/dev-server"},{"title":"Devtool","url":"configuration/devtool"},{"title":"Target","url":"configuration/target"},{"title":"Watch and WatchOptions","url":"configuration/watch"},{"title":"Externals","url":"configuration/externals"},{"title":"Node","url":"configuration/node"},{"title":"Performance","url":"configuration/performance"},{"title":"Stats","url":"configuration/stats"},{"title":"Other Options","url":"configuration/other-options"}]},{"title":"API","url":"api","pages":[{"title":"Stats JSON","url":"api/stats"},{"title":"Command Line Interface (CLI)","url":"api/cli"},{"title":"Module API - Methods","url":"api/module-methods"},{"title":"Module API - Variables","url":"api/module-variables"},{"title":"Node.js API","url":"api/node"},{"title":"Loader API","url":"api/loaders"},{"title":"Hot Module Replacement","url":"api/hot-module-replacement"}]},{"title":"API","url":"api/plugins","pages":[{"title":"Tapable","url":"api/plugins/tapable"},{"title":"Compiler","url":"api/plugins/compiler"},{"title":"Compilation","url":"api/plugins/compilation"},{"title":"Context/Normal Module Factories","url":"api/plugins/module-factories"},{"title":"Resolver","url":"api/plugins/resolver"},{"title":"Dependency","url":"api/plugins/dependency"},{"title":"Parser","url":"api/plugins/parser"},{"title":"Templates","url":"api/plugins/template"}]},{"url":"pluginsapi","pages":[]},{"title":"Loaders","url":"loaders","pages":[{"title":"babel-loader","url":"loaders/babel-loader"},{"title":"bundle-loader","url":"loaders/bundle-loader"},{"title":"cache-loader","url":"loaders/cache-loader"},{"title":"coffee-loader","url":"loaders/coffee-loader"},{"title":"coffee-redux-loader","url":"loaders/coffee-redux-loader"},{"title":"coverjs-loader","url":"loaders/coverjs-loader"},{"title":"css-loader","url":"loaders/css-loader"},{"title":"exports-loader","url":"loaders/exports-loader"},{"title":"expose-loader","url":"loaders/expose-loader"},{"title":"extract-loader","url":"loaders/extract-loader"},{"title":"file-loader","url":"loaders/file-loader"},{"title":"gzip-loader","url":"loaders/gzip-loader"},{"title":"html-loader","url":"loaders/html-loader"},{"title":"i18n-loader","url":"loaders/i18n-loader"},{"title":"imports-loader","url":"loaders/imports-loader"},{"title":"istanbul-instrumenter-loader","url":"loaders/istanbul-instrumenter-loader"},{"title":"jshint-loader","url":"loaders/jshint-loader"},{"title":"json-loader","url":"loaders/json-loader"},{"title":"json5-loader","url":"loaders/json5-loader"},{"title":"less-loader","url":"loaders/less-loader"},{"title":"mocha-loader","url":"loaders/mocha-loader"},{"title":"multi-loader","url":"loaders/multi-loader"},{"title":"node-loader","url":"loaders/node-loader"},{"title":"null-loader","url":"loaders/null-loader"},{"title":"polymer-webpack-loader","url":"loaders/polymer-webpack-loader"},{"title":"postcss-loader","url":"loaders/postcss-loader"},{"title":"raw-loader","url":"loaders/raw-loader"},{"title":"react-proxy-loader","url":"loaders/react-proxy-loader"},{"title":"restyle-loader","url":"loaders/restyle-loader"},{"title":"sass-loader","url":"loaders/sass-loader"},{"title":"script-loader","url":"loaders/script-loader"},{"title":"source-map-loader","url":"loaders/source-map-loader"},{"title":"style-loader","url":"loaders/style-loader"},{"title":"svg-inline-loader","url":"loaders/svg-inline-loader"},{"title":"thread-loader","url":"loaders/thread-loader"},{"title":"transform-loader","url":"loaders/transform-loader"},{"title":"url-loader","url":"loaders/url-loader"},{"title":"val-loader","url":"loaders/val-loader"},{"title":"worker-loader","url":"loaders/worker-loader"},{"title":"yaml-frontmatter-loader","url":"loaders/yaml-frontmatter-loader"}]},{"title":"Plugins","url":"plugins","pages":[{"title":"MinChunkSizePlugin","url":"plugins/min-chunk-size-plugin"},{"title":"AggressiveSplittingPlugin","url":"plugins/aggressive-splitting-plugin"},{"title":"BabiliWebpackPlugin","url":"plugins/babili-webpack-plugin"},{"title":"BannerPlugin","url":"plugins/banner-plugin"},{"title":"CommonsChunkPlugin","url":"plugins/commons-chunk-plugin"},{"title":"ComponentWebpackPlugin","url":"plugins/component-webpack-plugin"},{"title":"CompressionWebpackPlugin","url":"plugins/compression-webpack-plugin"},{"title":"ContextReplacementPlugin","url":"plugins/context-replacement-plugin"},{"title":"DefinePlugin","url":"plugins/define-plugin"},{"title":"DllPlugin","url":"plugins/dll-plugin"},{"title":"EnvironmentPlugin","url":"plugins/environment-plugin"},{"title":"ExtractTextWebpackPlugin","url":"plugins/extract-text-webpack-plugin"},{"title":"HashedModuleIdsPlugin","url":"plugins/hashed-module-ids-plugin"},{"title":"HotModuleReplacementPlugin","url":"plugins/hot-module-replacement-plugin"},{"title":"HtmlWebpackPlugin","url":"plugins/html-webpack-plugin"},{"title":"I18nWebpackPlugin","url":"plugins/i18n-webpack-plugin"},{"title":"IgnorePlugin","url":"plugins/ignore-plugin"},{"title":"LimitChunkCountPlugin","url":"plugins/limit-chunk-count-plugin"},{"title":"LoaderOptionsPlugin","url":"plugins/loader-options-plugin"},{"title":"NamedModulesPlugin","url":"plugins/named-modules-plugin"},{"title":"NoEmitOnErrorsPlugin","url":"plugins/no-emit-on-errors-plugin"},{"title":"NormalModuleReplacementPlugin","url":"plugins/normal-module-replacement-plugin"},{"title":"NpmInstallWebpackPlugin","url":"plugins/npm-install-webpack-plugin"},{"title":"PrefetchPlugin","url":"plugins/prefetch-plugin"},{"title":"ProvidePlugin","url":"plugins/provide-plugin"},{"title":"SourceMapDevToolPlugin","url":"plugins/source-map-dev-tool-plugin"},{"title":"UglifyjsWebpackPlugin","url":"plugins/uglifyjs-webpack-plugin"},{"title":"WatchIgnorePlugin","url":"plugins/watch-ignore-plugin"},{"title":"ZopfliWebpackPlugin","url":"plugins/zopfli-webpack-plugin"}]},{"title":"Support","url":"support","pages":[]},{"url":"vote","pages":[]},{"url":"vote/feedback","pages":[]},{"url":"vote/moneyDistribution","pages":[]},{"url":"organization","pages":[]},{"title":"Other","url":"/","pages":[]}]} 43 nav 44 class sidebar-mobile 45 . container page 46 a 47 href https://www.ag-grid.com/?utm_source=webpack&utm_medium=banner&utm_campaign=sponsorship 48 target _blank 49 class sponsors 50 img 51 src /bf176a25b4f8227fea804854c98dc5e2.png 52 img 53 src /6bc5d8cf78d442a984e70195db059b69.svg 54 style width:100px; 55 div ag-grid is proud to partner with webpack 56 style margin-top:1em;font-size:2em;text-align:center;color:#535353; 57 . interactive 58 id components/sidebar/sidebar.jsx 59 data-props {"sectionName":"configuration","pages":[{"url":"configuration/configuration-languages","title":"Configuration Languages","anchors":[{"title":"TypeScript","id":"typescript"},{"title":"CoffeeScript","id":"coffeescript"},{"title":"Babel and JSX","id":"babel-and-jsx"}]},{"url":"configuration/configuration-types","title":"Configuration Types","anchors":[{"title":"Exporting a Function","id":"exporting-a-function"},{"title":"Exporting a Promise","id":"exporting-a-promise"},{"title":"Exporting multiple configurations","id":"exporting-multiple-configurations"}]},{"url"quot;:"configuration/entry-context","title":"Entry and Context","anchors":[{"title":"context","id":"context"},{"title":"entry","id":"entry"},{"title":"Naming","id":"naming"},{"title":"Dynamic entry","id":"dynamic-entry"}]},{"url":"configuration/output","title":"Output","anchors":[{"title":"output.auxiliaryComment","id":"output-auxiliarycomment"},{"title":"output.chunkFilename","id":"output-chunkfilename"},{"title":"output.chunkLoadTimeout","id":"output-chunkloadtimeout"},{"title":"output.crossOriginLoading","id":"output-crossoriginloading"},{"title":"output.devtoolFallbackModuleFilenameTemplate","id":"output-devtoolfallbackmodulefilenametemplate"},{"title":"output.devtoolLineToLine","id":"output-devtoollinetoline"},{"title":"output.devtoolModuleFilenameTemplate","id":"output-devtoolmodulefilenametemplate"},{"title":"output.filename","id":"output-filename"},{"title":"output.hashDigest","id":"output-hashdigest"},{"title":"output.hashDigestLength","id":"output-hashdigestlength"},{"title":"output.hashFunction","id":"output-hashfunction"},{"title":"output.hashSalt","id":"output-hashsalt"},{"title":"output.hotUpdateChunkFilename","id":"output-hotupdatechunkfilename"},{"title":"output.hotUpdateFunction","id":"output-hotupdatefunction"},{"title":"output.hotUpdateMainFilename","id":"output-hotupdatemainfilename"},{"title":"output.jsonpFunction","id":"output-jsonpfunction"},{"title":"output.library","id":"output-library"},{"title":"output.libraryExport","id":"output-libraryexport"},{"title":"output.libraryTarget","id":"output-librarytarget"},{"title":"output.path","id":"output-path"},{"title":"output.pathinfo","id":"output-pathinfo"},{"title":"output.publicPath","id":"output-publicpath"},{"title":"output.sourceMapFilename","id":"output-sourcemapfilename"},{"title":"output.sourcePrefix","id":"output-sourceprefix"},{"title":"output.strictModuleExceptionHandling","id":"output-strictmoduleexceptionhandling"},{"title":"output.umdNamedDefine","id":"output-umdnameddefine"}]},{"url":"configuration/module","title":"Module","anchors":[{"title":"module.noParse","id":"module-noparse"},{"title":"module.rules","id":"module-rules"},{"title":"Rule","id":"rule"},{"title":"Rule Conditions","id":"rule-conditions"},{"title":"Rule results","id":"rule-results"},{"title":"Nested rules","id":"nested-rules"},{"title":"Rule.enforce","id":"rule-enforce"},{"title":"Rule.exclude","id":"rule-exclude"},{"title":"Rule.include","id":"rule-include"},{"title":"Rule.issuer","id":"rule-issuer"},{"title":"Rule.loader","id":"rule-loader"},{"title":"Rule.loaders","id":"rule-loaders"},{"title":"Rule.oneOf","id":"rule-oneof"},{"title":"Rule.options / Rule.query","id":"rule-options-rule-query"},{"title":"Rule.parser","id":"rule-parser"},{"title":"Rule.resource","id":"rule-resource"},{"title":"Rule.resourceQuery","id":"rule-resourcequery"},{"title":"Rule.rules","id":"rule-rules"},{"title":"Rule.test","id":"rule-test"},{"title":"Rule.use","id":"rule-use"},{"title":"Condition","id":"condition"},{"title":"UseEntry","id":"useentry"},{"title":"Module Contexts","id":"module-contexts"}]},{"url":"configuration/resolve","title":"Resolve","anchors":[{"title":"resolve","id":"resolve"},{"title":"resolve.alias","id":"resolve-alias"},{"title":"resolve.aliasFields","id":"resolve-aliasfields"},{"title":"resolve.cacheWithContext","id":"resolve-cachewithcontext"},{"title":"resolve.descriptionFiles","id":"resolve-descriptionfiles"},{"title":"resolve.enforceExtension","id":"resolve-enforceextension"},{"title":"resolve.enforceModuleExtension","id":"resolve-enforcemoduleextension"},{"title":"resolve.extensions","id":"resolve-extensions"},{"title":"resolve.mainFields","id":"resolve-mainfields"},{"title":"resolve.mainFiles","id":"resolve-mainfiles"},{"title":"resolve.modules","id":"resolve-modules"},{"title":"resolve.unsafeCache","id":"resolve-unsafecache"},{"title":"resolve.plugins","id":"resolve-plugins"},{"title":"resolve.symlinks","id":"resolve-symlinks"},{"title":"resolve.cachePredicate","id":"resolve-cachepredicate"},{"title":"resolveLoader","id":"resolveloader"},{"title":"resolveLoader.moduleExtensions","id":"resolveloader-moduleextensions"}]},{"url":"configuration/plugins","title":"Plugins","anchors":[{"title":"plugins","id":"plugins"}]},{"url":"configuration/dev-server","title":"DevServer","anchors":[{"title":"devServer","id":"devserver"},{"title":"devServer.allowedHosts","id":"devserver-allowedhosts"},{"title":"devServer.bonjour","id":"devserver-bonjour"},{"title":"devServer.clientLogLevel","id":"devserver-clientloglevel"},{"title":"devServer.color - CLI only","id":"devserver-color-cli-only"},{"title":"devServer.compress","id":"devserver-compress"},{"title":"devServer.contentBase","id":"devserver-contentbase"},{"title":"devServer.disableHostCheck","id":"devserver-disablehostcheck"},{"title":"devServer.filename 🔑","id":"devserver-filename-"},{"title":"devServer.headers 🔑","id":"devserver-headers-"},{"title":"devServer.historyApiFallback","id":"devserver-historyapifallback"},{"title":"devServer.host","id":"devserver-host"},{"title":"devServer.hot","id":"devserver-hot"},{"title":"devServer.hotOnly","id":"devserver-hotonly"},{"title":"devServer.https","id":"devserver-https"},{"title":"devServer.info - CLI only","id":"devserver-info-cli-only"},{"title":"devServer.inline","id":"devserver-inline"},{"title":"devServer.lazy 🔑","id":"devserver-lazy-"},{"title":"devServer.noInfo 🔑","id":"devserver-noinfo-"},{"title":"devServer.open","id":"devserver-open"},{"title":"devServer.openPage","id":"devserver-openpage"},{"title":"devServer.overlay","id":"devserver-overlay"},{"title":"devServer.pfx","id":"devserver-pfx"},{"title":"devServer.pfxPassphrase","id":"devserver-pfxpassphrase"},{"title":"devServer.port","id":"devserver-port"},{"title":"devServer.proxy","id":"devserver-proxy"},{"title":"devServer.progress - CLI only","id":"devserver-progress-cli-only"},{"title":"devServer.public","id":"devserver-public"},{"title":"devServer.publicPath 🔑","id":"devserver-publicpath-"},{"title":"devServer.quiet 🔑","id":"devserver-quiet-"},{"title":"devServer.setup","id":"devserver-setup"},{"title":"devServer.socket","id":"devserver-socket"},{"title":"devServer.staticOptions","id":"devserver-staticoptions"},{"title":"devServer.stats 🔑","id":"devserver-stats-"},{"title":"devServer.stdin - CLI only","id":"devserver-stdin-cli-only"},{"title":"devServer.useLocalIp","id":"devserver-uselocalip"},{"title":"devServer.watchContentBase","id":"devserver-watchcontentbase"},{"title":"devServer.watchOptions 🔑","id":"devserver-watchoptions-"}]},{"url":"configuration/devtool","title":"Devtool","anchors":[{"title":"devtool","id":"devtool"},{"title":"Development","id":"development"},{"title":"Production","id":"production"}]},{"url":"configuration/target","title":"Target","anchors":[{"title":"target","id":"target"},{"title":"string","id":"string"},{"title":"function","id":"function"}]},{"url":"configuration/watch","title":"Watch and WatchOptions","anchors":[{"title":"watch","id":"watch"},{"title":"watchOptions","id":"watchoptions"},{"title":"watchOptions.aggregateTimeout","id":"watchoptions-aggregatetimeout"},{"title":"watchOptions.ignored","id":"watchoptions-ignored"},{"title":"watchOptions.poll","id":"watchoptions-poll"}]},{"url":"configuration/externals","title":"Externals","anchors":[{"title":"externals","id":"externals"},{"title":"string","id":"string"},{"title":"array","id":"array"},{"title":"object","id":"object"},{"title":"function","id":"function"},{"title":"regex","id":"regex"}]},{"url":"configuration/node","title":"Node","anchors":[{"title":"node","id":"node"},{"title":"node.console","id":"node-console"},{"title":"node.process","id":"node-process"},{"title":"node.global","id":"node-global"},{"title":"node.__filename","id":"node-__filename"},{"title":"node.__dirname","id":"node-__dirname"},{"title":"node.Buffer","id":"node-buffer"},{"title":"node.setImmediate","id":"node-setimmediate"},{"title":"Other node core libraries","id":"other-node-core-libraries"}]},{"url":"configuration/performance","title":"Performance","anchors":[{"title":"performance","id":"performance"},{"title":"performance.hints","id":"performance-hints"},{"title":"performance.maxEntrypointSize","id":"performance-maxentrypointsize"},{"title":"performance.maxAssetSize","id":"performance-maxassetsize"},{"title":"performance.assetFilter","id":"performance-assetfilter"}]},{"url":"configuration/stats","title":"Stats","anchors":[{"title":"stats","id":"stats"}]},{"url":"configuration/other-options","title":"Other Options","anchors":[{"title":"amd","id":"amd"},{"title":"bail","id":"bail"},{"title":"cache","id":"cache"},{"title":"loader","id":"loader"},{"title":"profile","id":"profile"},{"title":"recordsPath","id":"recordspath"},{"title":"recordsInputPath","id":"recordsinputpath"},{"title":"recordsOutputPath","id":"recordsoutputpath"}]}],"currentPage":"configuration/"} 60 nav 61 class sidebar 62 section 63 class page__content 64 h1 Configuration 65 . page-links 66 a Edit Document 67 class page-links__link 68 href https://github.com/webpack/webpack.js.org/edit/master/content/configuration/index.md 69 i 70 class page-links__icon icon-edit 71 div 72 p webpack is fed via a configuration object. It is passed in one of two ways depending on how you are using webpack: through the terminal or via Node.js. All the available configuration options are specified below. 73 blockquote 74 class tip 75 div New to webpack? Check out our guide to some of webpack's 76 class tip-content 77 a core concepts 78 href /concepts 79 + to get started! 80 blockquote 81 class tip 82 div Notice that throughout the configuration we use Node's built-in 83 class tip-content 84 a path module 85 href https://nodejs.org/api/path.html 86 + and prefix it with the 87 a __dirname 88 href https://nodejs.org/docs/latest/api/globals.html#globals_dirname 89 + global. This prevents file path issues between operating systems and allows relative paths to work as expected. See 90 a this section 91 href https://nodejs.org/api/path.html#path_windows_vs_posix 92 + for more info on POSIX vs. Windows paths. 93 h2 94 class header 95 a 96 class anchor 97 href #options 98 id options 99 span Options 100 class text 101 a 102 class icon-link 103 href #options 104 p Click on the name of each option in the configuration code below to jump to the detailed documentation. Also note that the items with arrows can be expanded to show more examples and, in some cases, more advanced configuration. 105 pre 106 code 107 class lang-js 108 span const 109 class token keyword 110 + path 111 span = 112 class token operator 113 span require 114 class token function 115 span ( 116 class token punctuation 117 span 'path' 118 class token string 119 span ) 120 class token punctuation 121 span ; 122 class token punctuation 123 + module 124 span . 125 class token punctuation 126 + exports 127 span = 128 class token operator 129 span { 130 class token punctuation 131 details 132 summary 133 span 134 class code-details-summary-span 135 a entry 136 class code-link 137 href /configuration/entry-context#entry 138 span : 139 class token punctuation 140 span "./app/entry" 141 class token string 142 span , 143 class token punctuation 144 span // string | object | array 145 class token comment 146 spellcheck true 147 a entry 148 class code-link 149 href /configuration/entry-context#entry 150 span : 151 class token punctuation 152 span [ 153 class token punctuation 154 span "./app/entry1" 155 class token string 156 span , 157 class token punctuation 158 span "./app/entry2" 159 class token string 160 span ] 161 class token punctuation 162 span , 163 class token punctuation 164 a entry 165 class code-link 166 href /configuration/entry-context#entry 167 span : 168 class token punctuation 169 span { 170 class token punctuation 171 + a 172 span : 173 class token punctuation 174 span "./app/entry-a" 175 class token string 176 span , 177 class token punctuation 178 + b 179 span : 180 class token punctuation 181 span [ 182 class token punctuation 183 span "./app/entry-b1" 184 class token string 185 span , 186 class token punctuation 187 span "./app/entry-b2" 188 class token string 189 span ] 190 class token punctuation 191 span } 192 class token punctuation 193 span , 194 class token punctuation 195 span // Here the application starts executing 196 class token comment 197 spellcheck true 198 span // and webpack starts bundling 199 class token comment 200 spellcheck true 201 a output 202 class code-link 203 href /configuration/output 204 span : 205 class token punctuation 206 span { 207 class token punctuation 208 span // options related to how webpack emits results 209 class token comment 210 spellcheck true 211 a path 212 class code-link 213 href /configuration/output#output-path 214 span : 215 class token punctuation 216 + path 217 span . 218 class token punctuation 219 span resolve 220 class token function 221 span ( 222 class token punctuation 223 + __dirname 224 span , 225 class token punctuation 226 span "dist" 227 class token string 228 span ) 229 class token punctuation 230 span , 231 class token punctuation 232 span // string 233 class token comment 234 spellcheck true 235 span // the target directory for all output files 236 class token comment 237 spellcheck true 238 span // must be an absolute path (use the Node.js path module) 239 class token comment 240 spellcheck true 241 details 242 summary 243 span 244 class code-details-summary-span 245 a filename 246 class code-link 247 href /configuration/output#output-filename 248 span : 249 class token punctuation 250 span "bundle.js" 251 class token string 252 span , 253 class token punctuation 254 span // string 255 class token comment 256 spellcheck true 257 a filename 258 class code-link 259 href /configuration/output#output-filename 260 span : 261 class token punctuation 262 span "[name].js" 263 class token string 264 span , 265 class token punctuation 266 span // for multiple entry points 267 class token comment 268 spellcheck true 269 a filename 270 class code-link 271 href /configuration/output#output-filename 272 span : 273 class token punctuation 274 span "[chunkhash].js" 275 class token string 276 span , 277 class token punctuation 278 span // for 279 class token comment 280 spellcheck true 281 a long term caching 282 class code-link 283 href /guides/caching 284 span // the filename template for entry chunks 285 class token comment 286 spellcheck true 287 details 288 summary 289 span 290 class code-details-summary-span 291 a publicPath 292 class code-link 293 href /configuration/output#output-publicpath 294 span : 295 class token punctuation 296 span "/assets/" 297 class token string 298 span , 299 class token punctuation 300 span // string 301 class token comment 302 spellcheck true 303 a publicPath 304 class code-link 305 href /configuration/output#output-publicpath 306 span : 307 class token punctuation 308 span "" 309 class token string 310 span , 311 class token punctuation 312 a publicPath 313 class code-link 314 href /configuration/output#output-publicpath 315 span : 316 class token punctuation 317 span "https://cdn.example.com/" 318 class token string 319 span , 320 class token punctuation 321 span // the url to the output directory resolved relative to the HTML page 322 class token comment 323 spellcheck true 324 a library 325 class code-link 326 href /configuration/output#output-library 327 span : 328 class token punctuation 329 span "MyLibrary" 330 class token string 331 span , 332 class token punctuation 333 span // string, 334 class token comment 335 spellcheck true 336 span // the name of the exported library 337 class token comment 338 spellcheck true 339 details 340 summary 341 span 342 class code-details-summary-span 343 a libraryTarget 344 class code-link 345 href /configuration/output#output-librarytarget 346 span : 347 class token punctuation 348 span "umd" 349 class token string 350 span , 351 class token punctuation 352 span // universal module definition 353 class token comment 354 spellcheck true 355 a libraryTarget 356 class code-link 357 href /configuration/output#output-librarytarget 358 span : 359 class token punctuation 360 span "umd2" 361 class token string 362 span , 363 class token punctuation 364 span // universal module definition 365 class token comment 366 spellcheck true 367 a libraryTarget 368 class code-link 369 href /configuration/output#output-librarytarget 370 span : 371 class token punctuation 372 span "commonjs2" 373 class token string 374 span , 375 class token punctuation 376 span // exported with module.exports 377 class token comment 378 spellcheck true 379 a libraryTarget 380 class code-link 381 href /configuration/output#output-librarytarget 382 span : 383 class token punctuation 384 span "commonjs" 385 class token string 386 span , 387 class token punctuation 388 span // exported as properties to exports 389 class token comment 390 spellcheck true 391 a libraryTarget 392 class code-link 393 href /configuration/output#output-librarytarget 394 span : 395 class token punctuation 396 span "amd" 397 class token string 398 span , 399 class token punctuation 400 span // defined with AMD defined method 401 class token comment 402 spellcheck true 403 a libraryTarget 404 class code-link 405 href /configuration/output#output-librarytarget 406 span : 407 class token punctuation 408 span "this" 409 class token string 410 span , 411 class token punctuation 412 span // property set on this 413 class token comment 414 spellcheck true 415 a libraryTarget 416 class code-link 417 href /configuration/output#output-librarytarget 418 span : 419 class token punctuation 420 span "var" 421 class token string 422 span , 423 class token punctuation 424 span // variable defined in root scope 425 class token comment 426 spellcheck true 427 a libraryTarget 428 class code-link 429 href /configuration/output#output-librarytarget 430 span : 431 class token punctuation 432 span "assign" 433 class token string 434 span , 435 class token punctuation 436 span // blind assignment 437 class token comment 438 spellcheck true 439 a libraryTarget 440 class code-link 441 href /configuration/output#output-librarytarget 442 span : 443 class token punctuation 444 span "window" 445 class token string 446 span , 447 class token punctuation 448 span // property set to window object 449 class token comment 450 spellcheck true 451 a libraryTarget 452 class code-link 453 href /configuration/output#output-librarytarget 454 span : 455 class token punctuation 456 span "global" 457 class token string 458 span , 459 class token punctuation 460 span // property set to global object 461 class token comment 462 spellcheck true 463 a libraryTarget 464 class code-link 465 href /configuration/output#output-librarytarget 466 span : 467 class token punctuation 468 span "jsonp" 469 class token string 470 span , 471 class token punctuation 472 span // jsonp wrapper 473 class token comment 474 spellcheck true 475 span // the type of the exported library 476 class token comment 477 spellcheck true 478 details 479 summary 480 span 481 class code-details-summary-span 482 span /* Advanced output configuration (click to show) */ 483 class token comment 484 spellcheck true 485 a pathinfo 486 class code-link 487 href /configuration/output#output-pathinfo 488 span : 489 class token punctuation 490 span true 491 class token boolean 492 span , 493 class token punctuation 494 span // boolean 495 class token comment 496 spellcheck true 497 span // include useful path info about modules, exports, requests, etc. into the generated code 498 class token comment 499 spellcheck true 500 a chunkFilename 501 class code-link 502 href /configuration/output#output-chunkfilename 503 span : 504 class token punctuation 505 span "[id].js" 506 class token string 507 span , 508 class token punctuation 509 a chunkFilename 510 class code-link 511 href /configuration/output#output-chunkfilename 512 span : 513 class token punctuation 514 span "[chunkhash].js" 515 class token string 516 span , 517 class token punctuation 518 span // for 519 class token comment 520 spellcheck true 521 a long term caching 522 class code-link 523 href /guides/caching 524 span // the filename template for additional chunks 525 class token comment 526 spellcheck true 527 a jsonpFunction 528 class code-link 529 href /configuration/output#output-jsonpfunction 530 span : 531 class token punctuation 532 span "myWebpackJsonp" 533 class token string 534 span , 535 class token punctuation 536 span // string 537 class token comment 538 spellcheck true 539 span // name of the JSONP function used to load chunks 540 class token comment 541 spellcheck true 542 a sourceMapFilename 543 class code-link 544 href /configuration/output#output-sourcemapfilename 545 span : 546 class token punctuation 547 span "[file].map" 548 class token string 549 span , 550 class token punctuation 551 span // string 552 class token comment 553 spellcheck true 554 a sourceMapFilename 555 class code-link 556 href /configuration/output#output-sourcemapfilename 557 span : 558 class token punctuation 559 span "sourcemaps/[file].map" 560 class token string 561 span , 562 class token punctuation 563 span // string 564 class token comment 565 spellcheck true 566 span // the filename template of the source map location 567 class token comment 568 spellcheck true 569 a devtoolModuleFilenameTemplate 570 class code-link 571 href /configuration/output#output-devtoolmodulefilenametemplate 572 span : 573 class token punctuation 574 + "webpack 575 span : 576 class token punctuation 577 span / 578 class token operator 579 span //[resource-path]", // string 580 class token comment 581 spellcheck true 582 span // the name template for modules in a devtool 583 class token comment 584 spellcheck true 585 a devtoolFallbackModuleFilenameTemplate 586 class code-link 587 href /configuration/output#output-devtoolfallbackmodulefilenametemplate 588 span : 589 class token punctuation 590 + "webpack 591 span : 592 class token punctuation 593 span / 594 class token operator 595 span //[resource-path]?[hash]", // string 596 class token comment 597 spellcheck true 598 span // the name template for modules in a devtool (used for conflicts) 599 class token comment 600 spellcheck true 601 a umdNamedDefine 602 class code-link 603 href /configuration/output#output-umdnameddefine 604 span : 605 class token punctuation 606 span true 607 class token boolean 608 span , 609 class token punctuation 610 span // boolean 611 class token comment 612 spellcheck true 613 span // use a named AMD module in UMD library 614 class token comment 615 spellcheck true 616 a crossOriginLoading 617 class code-link 618 href /configuration/output#output-crossoriginloading 619 span : 620 class token punctuation 621 span "use-credentials" 622 class token string 623 span , 624 class token punctuation 625 span // enum 626 class token comment 627 spellcheck true 628 a crossOriginLoading 629 class code-link 630 href /configuration/output#output-crossoriginloading 631 span : 632 class token punctuation 633 span "anonymous" 634 class token string 635 span , 636 class token punctuation 637 a crossOriginLoading 638 class code-link 639 href /configuration/output#output-crossoriginloading 640 span : 641 class token punctuation 642 span false 643 class token boolean 644 span , 645 class token punctuation 646 span // specifies how cross origin request are issued by the runtime 647 class token comment 648 spellcheck true 649 details 650 summary 651 span 652 class code-details-summary-span 653 span /* Expert output configuration (on own risk) */ 654 class token comment 655 spellcheck true 656 a devtoolLineToLine 657 class code-link 658 href /configuration/output#output-devtoollinetoline 659 span : 660 class token punctuation 661 span { 662 class token punctuation 663 + test 664 span : 665 class token punctuation 666 span /\.jsx$/ 667 class token regex 668 span } 669 class token punctuation 670 span , 671 class token punctuation 672 span // use a simple 1:1 mapped SourceMaps for these modules (faster) 673 class token comment 674 spellcheck true 675 a hotUpdateMainFilename 676 class code-link 677 href /configuration/output#output-hotupdatemainfilename 678 span : 679 class token punctuation 680 span "[hash].hot-update.json" 681 class token string 682 span , 683 class token punctuation 684 span // string 685 class token comment 686 spellcheck true 687 span // filename template for HMR manifest 688 class token comment 689 spellcheck true 690 a hotUpdateChunkFilename 691 class code-link 692 href /configuration/output#output-hotupdatechunkfilename 693 span : 694 class token punctuation 695 span "[id].[hash].hot-update.js" 696 class token string 697 span , 698 class token punctuation 699 span // string 700 class token comment 701 spellcheck true 702 span // filename template for HMR chunks 703 class token comment 704 spellcheck true 705 a sourcePrefix 706 class code-link 707 href /configuration/output#output-sourceprefix 708 span : 709 class token punctuation 710 span "\t" 711 class token string 712 span , 713 class token punctuation 714 span // string 715 class token comment 716 spellcheck true 717 span // prefix module sources in bundle for better readablitity 718 class token comment 719 spellcheck true 720 span } 721 class token punctuation 722 span , 723 class token punctuation 724 a module 725 class code-link 726 href /configuration/module 727 span : 728 class token punctuation 729 span { 730 class token punctuation 731 span // configuration regarding modules 732 class token comment 733 spellcheck true 734 a rules 735 class code-link 736 href /configuration/module#module-rules 737 span : 738 class token punctuation 739 span [ 740 class token punctuation 741 span // rules for modules (configure loaders, parser options, etc.) 742 class token comment 743 spellcheck true 744 span { 745 class token punctuation 746 a test 747 class code-link 748 href /configuration/module#rule-test 749 span : 750 class token punctuation 751 span /\.jsx?$/ 752 class token regex 753 span , 754 class token punctuation 755 a include 756 class code-link 757 href /configuration/module#rule-include 758 span : 759 class token punctuation 760 span [ 761 class token punctuation 762 + path 763 span . 764 class token punctuation 765 span resolve 766 class token function 767 span ( 768 class token punctuation 769 + __dirname 770 span , 771 class token punctuation 772 span "app" 773 class token string 774 span ) 775 class token punctuation 776 span ] 777 class token punctuation 778 span , 779 class token punctuation 780 a exclude 781 class code-link 782 href /configuration/module#rule-exclude 783 span : 784 class token punctuation 785 span [ 786 class token punctuation 787 + path 788 span . 789 class token punctuation 790 span resolve 791 class token function 792 span ( 793 class token punctuation 794 + __dirname 795 span , 796 class token punctuation 797 span "app/demo-files" 798 class token string 799 span ) 800 class token punctuation 801 span ] 802 class token punctuation 803 span , 804 class token punctuation 805 span // these are matching conditions, each accepting a regular expression or string 806 class token comment 807 spellcheck true 808 span // test and include have the same behavior, both must be matched 809 class token comment 810 spellcheck true 811 span // exclude must not be matched (takes preferrence over test and include) 812 class token comment 813 spellcheck true 814 span // Best practices: 815 class token comment 816 spellcheck true 817 span // - Use RegExp only in test and for filename matching 818 class token comment 819 spellcheck true 820 span // - Use arrays of absolute paths in include and exclude 821 class token comment 822 spellcheck true 823 span // - Try to avoid exclude and prefer include 824 class token comment 825 spellcheck true 826 a issuer 827 class code-link 828 href /configuration/module#rule-issuer 829 span : 830 class token punctuation 831 span { 832 class token punctuation 833 + test 834 span , 835 class token punctuation 836 + include 837 span , 838 class token punctuation 839 + exclude 840 span } 841 class token punctuation 842 span , 843 class token punctuation 844 span // conditions for the issuer (the origin of the import) 845 class token comment 846 spellcheck true 847 a enforce 848 class code-link 849 href /configuration/module#rule-enforce 850 span : 851 class token punctuation 852 span "pre" 853 class token string 854 span , 855 class token punctuation 856 a enforce 857 class code-link 858 href /configuration/module#rule-enforce 859 span : 860 class token punctuation 861 span "post" 862 class token string 863 span , 864 class token punctuation 865 span // flags to apply these rules, even if they are overridden (advanced option) 866 class token comment 867 spellcheck true 868 a loader 869 class code-link 870 href /configuration/module#rule-loader 871 span : 872 class token punctuation 873 span "babel-loader" 874 class token string 875 span , 876 class token punctuation 877 span // the loader which should be applied, it'll be resolved relative to the context 878 class token comment 879 spellcheck true 880 span // -loader suffix is no longer optional in webpack2 for clarity reasons 881 class token comment 882 spellcheck true 883 span // see 884 class token comment 885 spellcheck true 886 a webpack 1 upgrade guide 887 class code-link 888 href /guides/migrating 889 a options 890 class code-link 891 href /configuration/module#rule-options-rule-query 892 span : 893 class token punctuation 894 span { 895 class token punctuation 896 + presets 897 span : 898 class token punctuation 899 span [ 900 class token punctuation 901 span "es2015" 902 class token string 903 span ] 904 class token punctuation 905 span } 906 class token punctuation 907 span , 908 class token punctuation 909 span // options for the loader 910 class token comment 911 spellcheck true 912 span } 913 class token punctuation 914 span , 915 class token punctuation 916 span { 917 class token punctuation 918 a test 919 class code-link 920 href /configuration/module#rule-test 921 span : 922 class token punctuation 923 span /\.html$/ 924 class token regex 925 span , 926 class token punctuation 927 a use 928 class code-link 929 href /configuration/module#rule-use 930 span : 931 class token punctuation 932 span [ 933 class token punctuation 934 span // apply multiple loaders and options 935 class token comment 936 spellcheck true 937 span "htmllint-loader" 938 class token string 939 span , 940 class token punctuation 941 span { 942 class token punctuation 943 + loader 944 span : 945 class token punctuation 946 span "html-loader" 947 class token string 948 span , 949 class token punctuation 950 + options 951 span : 952 class token punctuation 953 span { 954 class token punctuation 955 span /* ... */ 956 class token comment 957 spellcheck true 958 span } 959 class token punctuation 960 span } 961 class token punctuation 962 span ] 963 class token punctuation 964 span } 965 class token punctuation 966 span , 967 class token punctuation 968 span { 969 class token punctuation 970 a oneOf 971 class code-link 972 href /configuration/module#rule-oneof 973 span : 974 class token punctuation 975 span [ 976 class token punctuation 977 span /* rules */ 978 class token comment 979 spellcheck true 980 span ] 981 class token punctuation 982 span } 983 class token punctuation 984 span , 985 class token punctuation 986 span // only use one of these nested rules 987 class token comment 988 spellcheck true 989 span { 990 class token punctuation 991 a rules 992 class code-link 993 href /configuration/module#rule-rules 994 span : 995 class token punctuation 996 span [ 997 class token punctuation 998 span /* rules */ 999 class token comment1000 spellcheck true1001 span ]1002 class token punctuation1003 span }1004 class token punctuation1005 span ,1006 class token punctuation1007 span // use all of these nested rules (combine with conditions to be useful)1008 class token comment1009 spellcheck true1010 span {1011 class token punctuation1012 a resource1013 class code-link1014 href /configuration/module#rule-resource1015 span :1016 class token punctuation1017 span {1018 class token punctuation1019 a and1020 class code-link1021 href /configuration/module#condition1022 span :1023 class token punctuation1024 span [1025 class token punctuation1026 span /* conditions */1027 class token comment1028 spellcheck true1029 span ]1030 class token punctuation1031 span }1032 class token punctuation1033 span }1034 class token punctuation1035 span ,1036 class token punctuation1037 span // matches only if all conditions are matched1038 class token comment1039 spellcheck true1040 span {1041 class token punctuation1042 a resource1043 class code-link1044 href /configuration/module#rule-resource1045 span :1046 class token punctuation1047 span {1048 class token punctuation1049 a or1050 class code-link1051 href /configuration/module#condition1052 span :1053 class token punctuation1054 span [1055 class token punctuation1056 span /* conditions */1057 class token comment1058 spellcheck true1059 span ]1060 class token punctuation1061 span }1062 class token punctuation1063 span }1064 class token punctuation1065 span ,1066 class token punctuation1067 span {1068 class token punctuation1069 a resource1070 class code-link1071 href /configuration/module#rule-resource1072 span :1073 class token punctuation1074 span [1075 class token punctuation1076 span /* conditions */1077 class token comment1078 spellcheck true1079 span ]1080 class token punctuation1081 span }1082 class token punctuation1083 span ,1084 class token punctuation1085 span // matches if any condition is matched (default for arrays)1086 class token comment1087 spellcheck true1088 span {1089 class token punctuation1090 a resource1091 class code-link1092 href /configuration/module#rule-resource1093 span :1094 class token punctuation1095 span {1096 class token punctuation1097 a not1098 class code-link1099 href /configuration/module#condition1100 span :1101 class token punctuation1102 span /* condition */1103 class token comment1104 spellcheck true1105 span }1106 class token punctuation1107 span }1108 class token punctuation1109 span // matches if the condition is not matched1110 class token comment1111 spellcheck true1112 span ]1113 class token punctuation1114 span ,1115 class token punctuation1116 details1117 summary1118 span1119 class code-details-summary-span1120 span /* Advanced module configuration (click to show) */1121 class token comment1122 spellcheck true1123 a noParse1124 class code-link1125 href /configuration/module#module-noparse1126 span :1127 class token punctuation1128 span [1129 class token punctuation1130 span /special-library\.js$/1131 class token regex1132 span ]1133 class token punctuation1134 span ,1135 class token punctuation1136 span // do not parse this module1137 class token comment1138 spellcheck true1139 + unknownContextRequest1140 span :1141 class token punctuation1142 span "."1143 class token string1144 span ,1145 class token punctuation1146 + unknownContextRecursive1147 span :1148 class token punctuation1149 span true1150 class token boolean1151 span ,1152 class token punctuation1153 + unknownContextRegExp1154 span :1155 class token punctuation1156 span /^\.\/.*$/1157 class token regex1158 span ,1159 class token punctuation1160 + unknownContextCritical1161 span :1162 class token punctuation1163 span true1164 class token boolean1165 span ,1166 class token punctuation1167 + exprContextRequest1168 span :1169 class token punctuation1170 span "."1171 class token string1172 span ,1173 class token punctuation1174 + exprContextRegExp1175 span :1176 class token punctuation1177 span /^\.\/.*$/1178 class token regex1179 span ,1180 class token punctuation1181 + exprContextRecursive1182 span :1183 class token punctuation1184 span true1185 class token boolean1186 span ,1187 class token punctuation1188 + exprContextCritical1189 span :1190 class token punctuation1191 span true1192 class token boolean1193 span ,1194 class token punctuation1195 + wrappedContextRegExp1196 span :1197 class token punctuation1198 span /.*/1199 class token regex1200 span ,1201 class token punctuation1202 + wrappedContextRecursive1203 span :1204 class token punctuation1205 span true1206 class token boolean1207 span ,1208 class token punctuation1209 + wrappedContextCritical1210 span :1211 class token punctuation1212 span false1213 class token boolean1214 span ,1215 class token punctuation1216 span // specifies default behavior for dynamic requests1217 class token comment1218 spellcheck true1219 span }1220 class token punctuation1221 span ,1222 class token punctuation1223 a resolve1224 class code-link1225 href /configuration/resolve1226 span :1227 class token punctuation1228 span {1229 class token punctuation1230 span // options for resolving module requests1231 class token comment1232 spellcheck true1233 span // (does not apply to resolving to loaders)1234 class token comment1235 spellcheck true1236 a modules1237 class code-link1238 href /configuration/resolve#resolve-modules1239 span :1240 class token punctuation1241 span [1242 class token punctuation1243 span "node_modules"1244 class token string1245 span ,1246 class token punctuation1247 + path1248 span .1249 class token punctuation1250 span resolve1251 class token function1252 span (1253 class token punctuation1254 + __dirname1255 span ,1256 class token punctuation1257 span "app"1258 class token string1259 span )1260 class token punctuation1261 span ]1262 class token punctuation1263 span ,1264 class token punctuation1265 span // directories where to look for modules1266 class token comment1267 spellcheck true1268 a extensions1269 class code-link1270 href /configuration/resolve#resolve-extensions1271 span :1272 class token punctuation1273 span [1274 class token punctuation1275 span ".js"1276 class token string1277 span ,1278 class token punctuation1279 span ".json"1280 class token string1281 span ,1282 class token punctuation1283 span ".jsx"1284 class token string1285 span ,1286 class token punctuation1287 span ".css"1288 class token string1289 span ]1290 class token punctuation1291 span ,1292 class token punctuation1293 span // extensions that are used1294 class token comment1295 spellcheck true1296 a alias1297 class code-link1298 href /configuration/resolve#resolve-alias1299 span :1300 class token punctuation1301 span {1302 class token punctuation1303 span // a list of module name aliases1304 class token comment1305 spellcheck true1306 span "module"1307 class token string1308 span :1309 class token punctuation1310 span "new-module"1311 class token string1312 span ,1313 class token punctuation1314 span // alias "module" -> "new-module" and "module/path/file" -> "new-module/path/file"1315 class token comment1316 spellcheck true1317 span "only-module$"1318 class token string1319 span :1320 class token punctuation1321 span "new-module"1322 class token string1323 span ,1324 class token punctuation1325 span // alias "only-module" -> "new-module", but not "module/path/file" -> "new-module/path/file"1326 class token comment1327 spellcheck true1328 span "module"1329 class token string1330 span :1331 class token punctuation1332 + path1333 span .1334 class token punctuation1335 span resolve1336 class token function1337 span (1338 class token punctuation1339 + __dirname1340 span ,1341 class token punctuation1342 span "app/third/module.js"1343 class token string1344 span )1345 class token punctuation1346 span ,1347 class token punctuation1348 span // alias "module" -> "./app/third/module.js" and "module/file" results in error1349 class token comment1350 spellcheck true1351 span // modules aliases are imported relative to the current context1352 class token comment1353 spellcheck true1354 span }1355 class token punctuation1356 span ,1357 class token punctuation1358 details1359 summary1360 span1361 class code-details-summary-span1362 span /* alternative alias syntax (click to show) */1363 class token comment1364 spellcheck true1365 a alias1366 class code-link1367 href /configuration/resolve#resolve-alias1368 span :1369 class token punctuation1370 span [1371 class token punctuation1372 span {1373 class token punctuation1374 + name1375 span :1376 class token punctuation1377 span "module"1378 class token string1379 span ,1380 class token punctuation1381 span // the old request1382 class token comment1383 spellcheck true1384 + alias1385 span :1386 class token punctuation1387 span "new-module"1388 class token string1389 span ,1390 class token punctuation1391 span // the new request1392 class token comment1393 spellcheck true1394 + onlyModule1395 span :1396 class token punctuation1397 span true1398 class token boolean1399 span // if true only "module" is aliased1400 class token comment1401 spellcheck true1402 span // if false "module/inner/path" is also aliased1403 class token comment1404 spellcheck true1405 span }1406 class token punctuation1407 span ]1408 class token punctuation1409 span ,1410 class token punctuation1411 details1412 summary1413 span1414 class code-details-summary-span1415 span /* Advanced resolve configuration (click to show) */1416 class token comment1417 spellcheck true1418 a symlinks1419 class code-link1420 href /configuration/resolve#resolve-symlinks1421 span :1422 class token punctuation1423 span true1424 class token boolean1425 span ,1426 class token punctuation1427 span // follow symlinks to new location1428 class token comment1429 spellcheck true1430 a descriptionFiles1431 class code-link1432 href /configuration/resolve#resolve-descriptionfiles1433 span :1434 class token punctuation1435 span [1436 class token punctuation1437 span "package.json"1438 class token string1439 span ]1440 class token punctuation1441 span ,1442 class token punctuation1443 span // files that are read for package description1444 class token comment1445 spellcheck true1446 a mainFields1447 class code-link1448 href /configuration/resolve#resolve-mainfields1449 span :1450 class token punctuation1451 span [1452 class token punctuation1453 span "main"1454 class token string1455 span ]1456 class token punctuation1457 span ,1458 class token punctuation1459 span // properties that are read from description file1460 class token comment1461 spellcheck true1462 span // when a folder is requested1463 class token comment1464 spellcheck true1465 a aliasFields1466 class code-link1467 href /configuration/resolve#resolve-aliasfields1468 span :1469 class token punctuation1470 span [1471 class token punctuation1472 span "browser"1473 class token string1474 span ]1475 class token punctuation1476 span ,1477 class token punctuation1478 span // properites that are read from description file1479 class token comment1480 spellcheck true1481 span // to alias requests in this package1482 class token comment1483 spellcheck true1484 a enforceExtension1485 class code-link1486 href /configuration/resolve#resolve-enforceextension1487 span :1488 class token punctuation1489 span false1490 class token boolean1491 span ,1492 class token punctuation1493 span // if true request must not include an extensions1494 class token comment1495 spellcheck true1496 span // if false request may already include an extension1497 class token comment1498 spellcheck true1499 a moduleExtensions1500 class code-link1501 href /configuration/resolve#resolveloader-moduleextensions1502 span :1503 class token punctuation1504 span [1505 class token punctuation1506 span "-module"1507 class token string1508 span ]1509 class token punctuation1510 span ,1511 class token punctuation1512 a enforceModuleExtension1513 class code-link1514 href /configuration/resolve#resolve-enforcemoduleextension1515 span :1516 class token punctuation1517 span false1518 class token boolean1519 span ,1520 class token punctuation1521 span // like extensions/enforceExtension but for module names instead of files1522 class token comment1523 spellcheck true1524 a unsafeCache1525 class code-link1526 href /configuration/resolve#resolve-unsafecache1527 span :1528 class token punctuation1529 span true1530 class token boolean1531 span ,1532 class token punctuation1533 a unsafeCache1534 class code-link1535 href /configuration/resolve#resolve-unsafecache1536 span :1537 class token punctuation1538 span {1539 class token punctuation1540 span }1541 class token punctuation1542 span ,1543 class token punctuation1544 span // enables caching for resolved requests1545 class token comment1546 spellcheck true1547 span // this is unsafe as folder structure may change1548 class token comment1549 spellcheck true1550 span // but performance improvement is really big1551 class token comment1552 spellcheck true1553 a cachePredicate1554 class code-link1555 href /configuration/resolve#resolve-cachepredicate1556 span :1557 class token punctuation1558 span (1559 class token punctuation1560 + path1561 span ,1562 class token punctuation1563 + request1564 span )1565 class token punctuation1566 span =1567 class token operator1568 span >1569 class token operator1570 span true1571 class token boolean1572 span ,1573 class token punctuation1574 span // predicate function which selects requests for caching1575 class token comment1576 spellcheck true1577 a plugins1578 class code-link1579 href /configuration/resolve#resolve-plugins1580 span :1581 class token punctuation1582 span [1583 class token punctuation1584 span // ...1585 class token comment1586 spellcheck true1587 span ]1588 class token punctuation1589 span // additional plugins applied to the resolver1590 class token comment1591 spellcheck true1592 span }1593 class token punctuation1594 span ,1595 class token punctuation1596 a performance1597 class code-link1598 href /configuration/performance1599 span :1600 class token punctuation1601 span {1602 class token punctuation1603 details1604 summary1605 span1606 class code-details-summary-span1607 a hints1608 class code-link1609 href /configuration/performance#performance-hints1610 span :1611 class token punctuation1612 span "warning"1613 class token string1614 span ,1615 class token punctuation1616 span // enum1617 class token comment1618 spellcheck true1619 a hints1620 class code-link1621 href /configuration/performance#performance-hints1622 span :1623 class token punctuation1624 span "error"1625 class token string1626 span ,1627 class token punctuation1628 span // emit errors for perf hints1629 class token comment1630 spellcheck true1631 a hints1632 class code-link1633 href /configuration/performance#performance-hints1634 span :1635 class token punctuation1636 span false1637 class token boolean1638 span ,1639 class token punctuation1640 span // turn off perf hints1641 class token comment1642 spellcheck true1643 a maxAssetSize1644 class code-link1645 href /configuration/performance#performance-maxassetsize1646 span :1647 class token punctuation1648 span 2000001649 class token number1650 span ,1651 class token punctuation1652 span // int (in bytes),1653 class token comment1654 spellcheck true1655 a maxEntrypointSize1656 class code-link1657 href /configuration/performance#performance-maxentrypointsize1658 span :1659 class token punctuation1660 span 4000001661 class token number1662 span ,1663 class token punctuation1664 span // int (in bytes)1665 class token comment1666 spellcheck true1667 a assetFilter1668 class code-link1669 href /configuration/performance#performance-assetfilter1670 span :1671 class token punctuation1672 span function1673 class token keyword1674 span (1675 class token punctuation1676 + assetFilename1677 span )1678 class token punctuation1679 span {1680 class token punctuation1681 span // Function predicate that provides asset filenames1682 class token comment1683 spellcheck true1684 span return1685 class token keyword1686 + assetFilename1687 span .1688 class token punctuation1689 span endsWith1690 class token function1691 span (1692 class token punctuation1693 span '.css'1694 class token string1695 span )1696 class token punctuation1697 span ||1698 class token operator1699 + assetFilename1700 span .1701 class token punctuation1702 span endsWith1703 class token function1704 span (1705 class token punctuation1706 span '.js'1707 class token string1708 span )1709 class token punctuation1710 span ;1711 class token punctuation1712 span }1713 class token punctuation1714 span }1715 class token punctuation1716 span ,1717 class token punctuation1718 details1719 summary1720 span1721 class code-details-summary-span1722 a devtool1723 class code-link1724 href /configuration/devtool1725 span :1726 class token punctuation1727 span "source-map"1728 class token string1729 span ,1730 class token punctuation1731 span // enum1732 class token comment1733 spellcheck true1734 a devtool1735 class code-link1736 href /configuration/devtool1737 span :1738 class token punctuation1739 span "inline-source-map"1740 class token string1741 span ,1742 class token punctuation1743 span // inlines SourceMap into original file1744 class token comment1745 spellcheck true1746 a devtool1747 class code-link1748 href /configuration/devtool1749 span :1750 class token punctuation1751 span "eval-source-map"1752 class token string1753 span ,1754 class token punctuation1755 span // inlines SourceMap per module1756 class token comment1757 spellcheck true1758 a devtool1759 class code-link1760 href /configuration/devtool1761 span :1762 class token punctuation1763 span "hidden-source-map"1764 class token string1765 span ,1766 class token punctuation1767 span // SourceMap without reference in original file1768 class token comment1769 spellcheck true1770 a devtool1771 class code-link1772 href /configuration/devtool1773 span :1774 class token punctuation1775 span "cheap-source-map"1776 class token string1777 span ,1778 class token punctuation1779 span // cheap-variant of SourceMap without module mappings1780 class token comment1781 spellcheck true1782 a devtool1783 class code-link1784 href /configuration/devtool1785 span :1786 class token punctuation1787 span "cheap-module-source-map"1788 class token string1789 span ,1790 class token punctuation1791 span // cheap-variant of SourceMap with module mappings1792 class token comment1793 spellcheck true1794 a devtool1795 class code-link1796 href /configuration/devtool1797 span :1798 class token punctuation1799 span "eval"1800 class token string1801 span ,1802 class token punctuation1803 span // no SourceMap, but named modules. Fastest at the expense of detail.1804 class token comment1805 spellcheck true1806 span // enhance debugging by adding meta info for the browser devtools1807 class token comment1808 spellcheck true1809 span // source-map most detailed at the expense of build speed.1810 class token comment1811 spellcheck true1812 a context1813 class code-link1814 href /configuration/entry-context#context1815 span :1816 class token punctuation1817 + __dirname1818 span ,1819 class token punctuation1820 span // string (absolute path!)1821 class token comment1822 spellcheck true1823 span // the home directory for webpack1824 class token comment1825 spellcheck true1826 span // the1827 class token comment1828 spellcheck true1829 a entry1830 class code-link1831 href /configuration/entry-context1832 + and1833 a module.rules.loader1834 class code-link1835 href /configuration/module#rule-loader1836 + option1837 span // is resolved relative to this directory1838 class token comment1839 spellcheck true1840 details1841 summary1842 span1843 class code-details-summary-span1844 a target1845 class code-link1846 href /configuration/target1847 span :1848 class token punctuation1849 span "web"1850 class token string1851 span ,1852 class token punctuation1853 span // enum1854 class token comment1855 spellcheck true1856 a target1857 class code-link1858 href /configuration/target1859 span :1860 class token punctuation1861 span "webworker"1862 class token string1863 span ,1864 class token punctuation1865 span // WebWorker1866 class token comment1867 spellcheck true1868 a target1869 class code-link1870 href /configuration/target1871 span :1872 class token punctuation1873 span "node"1874 class token string1875 span ,1876 class token punctuation1877 span // Node.js via require1878 class token comment1879 spellcheck true1880 a target1881 class code-link1882 href /configuration/target1883 span :1884 class token punctuation1885 span "async-node"1886 class token string1887 span ,1888 class token punctuation1889 span // Node.js via fs and vm1890 class token comment1891 spellcheck true1892 a target1893 class code-link1894 href /configuration/target1895 span :1896 class token punctuation1897 span "node-webkit"1898 class token string1899 span ,1900 class token punctuation1901 span // nw.js1902 class token comment1903 spellcheck true1904 a target1905 class code-link1906 href /configuration/target1907 span :1908 class token punctuation1909 span "electron-main"1910 class token string1911 span ,1912 class token punctuation1913 span // electron, main process1914 class token comment1915 spellcheck true1916 a target1917 class code-link1918 href /configuration/target1919 span :1920 class token punctuation1921 span "electron-renderer"1922 class token string1923 span ,1924 class token punctuation1925 span // electron, renderer process1926 class token comment1927 spellcheck true1928 a target1929 class code-link1930 href /configuration/target1931 span :1932 class token punctuation1933 span (1934 class token punctuation1935 + compiler1936 span )1937 class token punctuation1938 span =1939 class token operator1940 span >1941 class token operator1942 span {1943 class token punctuation1944 span /* ... */1945 class token comment1946 spellcheck true1947 span }1948 class token punctuation1949 span ,1950 class token punctuation1951 span // custom1952 class token comment1953 spellcheck true1954 span // the environment in which the bundle should run1955 class token comment1956 spellcheck true1957 span // changes chunk loading behavior and available modules1958 class token comment1959 spellcheck true1960 details1961 summary1962 span1963 class code-details-summary-span1964 a externals1965 class code-link1966 href /configuration/externals1967 span :1968 class token punctuation1969 span [1970 class token punctuation1971 span "react"1972 class token string1973 span ,1974 class token punctuation1975 span /1976 class token operator1977 span ^1978 class token operator1979 + @angular\1980 span /1981 class token operator1982 span /1983 class token operator1984 span ]1985 class token punctuation1986 span ,1987 class token punctuation1988 a externals1989 class code-link1990 href /configuration/externals1991 span :1992 class token punctuation1993 span "react"1994 class token string1995 span ,1996 class token punctuation1997 span // string (exact match)1998 class token comment1999 spellcheck true2000 a externals2001 class code-link2002 href /configuration/externals2003 span :2004 class token punctuation2005 span /^[a-z\-]+($|\/)/2006 class token regex2007 span ,2008 class token punctuation2009 span // Regex2010 class token comment2011 spellcheck true2012 a externals2013 class code-link2014 href /configuration/externals2015 span :2016 class token punctuation2017 span {2018 class token punctuation2019 span // object2020 class token comment2021 spellcheck true2022 + angular2023 span :2024 class token punctuation2025 span "this angular"2026 class token string2027 span ,2028 class token punctuation2029 span // this["angular"]2030 class token comment2031 spellcheck true2032 + react2033 span :2034 class token punctuation2035 span {2036 class token punctuation2037 span // UMD2038 class token comment2039 spellcheck true2040 + commonjs2041 span :2042 class token punctuation2043 span "react"2044 class token string2045 span ,2046 class token punctuation2047 + commonjs22048 span :2049 class token punctuation2050 span "react"2051 class token string2052 span ,2053 class token punctuation2054 + amd2055 span :2056 class token punctuation2057 span "react"2058 class token string2059 span ,2060 class token punctuation2061 + root2062 span :2063 class token punctuation2064 span "React"2065 class token string2066 span }2067 class token punctuation2068 span }2069 class token punctuation2070 span ,2071 class token punctuation2072 a externals2073 class code-link2074 href /configuration/externals2075 span :2076 class token punctuation2077 span (2078 class token punctuation2079 + request2080 span )2081 class token punctuation2082 span =2083 class token operator2084 span >2085 class token operator2086 span {2087 class token punctuation2088 span /* ... */2089 class token comment2090 spellcheck true2091 span return2092 class token keyword2093 span "commonjs "2094 class token string2095 span +2096 class token operator2097 + request2098 span }2099 class token punctuation2100 span // Don't follow/bundle these modules, but request them at runtime from the environment2101 class token comment2102 spellcheck true2103 details2104 summary2105 span2106 class code-details-summary-span2107 a stats2108 class code-link2109 href /configuration/stats2110 span :2111 class token punctuation2112 span "errors-only"2113 class token string2114 span ,2115 class token punctuation2116 a stats2117 class code-link2118 href /configuration/stats2119 span :2120 class token punctuation2121 span {2122 class token punctuation2123 span //object2124 class token comment2125 spellcheck true2126 + assets2127 span :2128 class token punctuation2129 span true2130 class token boolean2131 span ,2132 class token punctuation2133 + colors2134 span :2135 class token punctuation2136 span true2137 class token boolean2138 span ,2139 class token punctuation2140 + errors2141 span :2142 class token punctuation2143 span true2144 class token boolean2145 span ,2146 class token punctuation2147 + errorDetails2148 span :2149 class token punctuation2150 span true2151 class token boolean2152 span ,2153 class token punctuation2154 + hash2155 span :2156 class token punctuation2157 span true2158 class token boolean2159 span ,2160 class token punctuation2161 span // ...2162 class token comment2163 spellcheck true2164 span }2165 class token punctuation2166 span ,2167 class token punctuation2168 span // lets you precisely control what bundle information gets displayed2169 class token comment2170 spellcheck true2171 a devServer2172 class code-link2173 href /configuration/dev-server2174 span :2175 class token punctuation2176 span {2177 class token punctuation2178 + proxy2179 span :2180 class token punctuation2181 span {2182 class token punctuation2183 span // proxy URLs to backend development server2184 class token comment2185 spellcheck true2186 span '/api'2187 class token string2188 span :2189 class token punctuation2190 span 'http://localhost:3000'2191 class token string2192 span }2193 class token punctuation2194 span ,2195 class token punctuation2196 + contentBase2197 span :2198 class token punctuation2199 + path2200 span .2201 class token punctuation2202 span join2203 class token function2204 span (2205 class token punctuation2206 + __dirname2207 span ,2208 class token punctuation2209 span 'public'2210 class token string2211 span )2212 class token punctuation2213 span ,2214 class token punctuation2215 span // boolean | string | array, static file location2216 class token comment2217 spellcheck true2218 + compress2219 span :2220 class token punctuation2221 span true2222 class token boolean2223 span ,2224 class token punctuation2225 span // enable gzip compression2226 class token comment2227 spellcheck true2228 + historyApiFallback2229 span :2230 class token punctuation2231 span true2232 class token boolean2233 span ,2234 class token punctuation2235 span // true for index.html upon 404, object for multiple paths2236 class token comment2237 spellcheck true2238 + hot2239 span :2240 class token punctuation2241 span true2242 class token boolean2243 span ,2244 class token punctuation2245 span // hot module replacement. Depends on HotModuleReplacementPlugin2246 class token comment2247 spellcheck true2248 + https2249 span :2250 class token punctuation2251 span false2252 class token boolean2253 span ,2254 class token punctuation2255 span // true for self-signed, object for cert authority2256 class token comment2257 spellcheck true2258 + noInfo2259 span :2260 class token punctuation2261 span true2262 class token boolean2263 span ,2264 class token punctuation2265 span // only errors & warns on hot reload2266 class token comment2267 spellcheck true2268 span // ...2269 class token comment2270 spellcheck true2271 span }2272 class token punctuation2273 span ,2274 class token punctuation2275 a plugins2276 class code-link2277 href plugins2278 span :2279 class token punctuation2280 span [2281 class token punctuation2282 span // ...2283 class token comment2284 spellcheck true2285 span ]2286 class token punctuation2287 span ,2288 class token punctuation2289 span // list of additional plugins2290 class token comment2291 spellcheck true2292 details2293 summary2294 span2295 class code-details-summary-span2296 span /* Advanced configuration (click to show) */2297 class token comment2298 spellcheck true2299 a resolveLoader2300 class code-link2301 href /configuration/resolve#resolveloader2302 span :2303 class token punctuation2304 span {2305 class token punctuation2306 span /* same as resolve */2307 class token comment2308 spellcheck true2309 span }2310 class token punctuation2311 span // separate resolve options for loaders2312 class token comment2313 spellcheck true2314 a profile2315 class code-link2316 href other-options#profile2317 span :2318 class token punctuation2319 span true2320 class token boolean2321 span ,2322 class token punctuation2323 span // boolean2324 class token comment2325 spellcheck true2326 span // capture timing information2327 class token comment2328 spellcheck true2329 a bail2330 class code-link2331 href other-options#bail2332 span :2333 class token punctuation2334 span true2335 class token boolean2336 span ,2337 class token punctuation2338 span //boolean2339 class token comment2340 spellcheck true2341 span // fail out on the first error instead of tolerating it.2342 class token comment2343 spellcheck true2344 a cache2345 class code-link2346 href other-options#cache2347 span :2348 class token punctuation2349 span false2350 class token boolean2351 span ,2352 class token punctuation2353 span // boolean2354 class token comment2355 spellcheck true2356 span // disable/enable caching2357 class token comment2358 spellcheck true2359 a watch2360 class code-link2361 href watch#watch2362 span :2363 class token punctuation2364 span true2365 class token boolean2366 span ,2367 class token punctuation2368 span // boolean2369 class token comment2370 spellcheck true2371 span // enables watching2372 class token comment2373 spellcheck true2374 a watchOptions2375 class code-link2376 href watch#watchoptions2377 span :2378 class token punctuation2379 span {2380 class token punctuation2381 a aggregateTimeout2382 class code-link2383 href watch#watchoptions-aggregatetimeout2384 span :2385 class token punctuation2386 span 10002387 class token number2388 span ,2389 class token punctuation2390 span // in ms2391 class token comment2392 spellcheck true2393 span // aggregates multiple changes to a single rebuild2394 class token comment2395 spellcheck true2396 a poll2397 class code-link2398 href watch#watchoptions-poll2399 span :2400 class token punctuation2401 span true2402 class token boolean2403 span ,2404 class token punctuation2405 a poll2406 class code-link2407 href watch#watchoptions-poll2408 span :2409 class token punctuation2410 span 5002411 class token number2412 span ,2413 class token punctuation2414 span // intervall in ms2415 class token comment2416 spellcheck true2417 span // enables polling mode for watching2418 class token comment2419 spellcheck true2420 span // must be used on filesystems that doesn't notify on change2421 class token comment2422 spellcheck true2423 span // i. e. nfs shares2424 class token comment2425 spellcheck true2426 span }2427 class token punctuation2428 span ,2429 class token punctuation2430 a node2431 class code-link2432 href node2433 span :2434 class token punctuation2435 span {2436 class token punctuation2437 span // Polyfills and mocks to run Node.js-2438 class token comment2439 spellcheck true2440 span // environment code in non-Node environments.2441 class token comment2442 spellcheck true2443 a console2444 class code-link2445 href node#node-console2446 span :2447 class token punctuation2448 span false2449 class token boolean2450 span ,2451 class token punctuation2452 span // boolean | "mock"2453 class token comment2454 spellcheck true2455 a global2456 class code-link2457 href node#node-global2458 span :2459 class token punctuation2460 span true2461 class token boolean2462 span ,2463 class token punctuation2464 span // boolean | "mock"2465 class token comment2466 spellcheck true2467 a process2468 class code-link2469 href node#node-process2470 span :2471 class token punctuation2472 span true2473 class token boolean2474 span ,2475 class token punctuation2476 span // boolean2477 class token comment2478 spellcheck true2479 a __filename2480 class code-link2481 href node#node-__filename2482 span :2483 class token punctuation2484 span "mock"2485 class token string2486 span ,2487 class token punctuation2488 span // boolean | "mock"2489 class token comment2490 spellcheck true2491 a __dirname2492 class code-link2493 href node#node-__dirname2494 span :2495 class token punctuation2496 span "mock"2497 class token string2498 span ,2499 class token punctuation2500 span // boolean | "mock"2501 class token comment2502 spellcheck true2503 a Buffer2504 class code-link2505 href node#node-buffer2506 span :2507 class token punctuation2508 span true2509 class token boolean2510 span ,2511 class token punctuation2512 span // boolean | "mock"2513 class token comment2514 spellcheck true2515 a setImmediate2516 class code-link2517 href node#node-setimmediate2518 span :2519 class token punctuation2520 span true2521 class token boolean2522 span // boolean | "mock" | "empty"2523 class token comment2524 spellcheck true2525 span }2526 class token punctuation2527 span ,2528 class token punctuation2529 a recordsPath2530 class code-link2531 href other-options#recordspath2532 span :2533 class token punctuation2534 + path2535 span .2536 class token punctuation2537 span resolve2538 class token function2539 span (2540 class token punctuation2541 + __dirname2542 span ,2543 class token punctuation2544 span "build/records.json"2545 class token string2546 span )2547 class token punctuation2548 span ,2549 class token punctuation2550 a recordsInputPath2551 class code-link2552 href other-options#recordsinputpath2553 span :2554 class token punctuation2555 + path2556 span .2557 class token punctuation2558 span resolve2559 class token function2560 span (2561 class token punctuation2562 + __dirname2563 span ,2564 class token punctuation2565 span "build/records.json"2566 class token string2567 span )2568 class token punctuation2569 span ,2570 class token punctuation2571 a recordsOutputPath2572 class code-link2573 href other-options#recordsoutputpath2574 span :2575 class token punctuation2576 + path2577 span .2578 class token punctuation2579 span resolve2580 class token function2581 span (2582 class token punctuation2583 + __dirname2584 span ,2585 class token punctuation2586 span "build/records.json"2587 class token string2588 span )2589 class token punctuation2590 span ,2591 class token punctuation2592 span // TODO2593 class token comment2594 spellcheck true2595 span }2596 class token punctuation2597 div2598 hr2599 h3 Contributors2600 . contributors2601 . contributors__list2602 a2603 class contributor2604 href https://github.com/bondz2605 img2606 src https://github.com/bondz.png?size=902607 span bondz2608 class contributor__name2609 a2610 class contributor2611 href https://github.com/grgur2612 img2613 src https://github.com/grgur.png?size=902614 span grgur2615 class contributor__name2616 a2617 class contributor2618 href https://github.com/kbariotis2619 img2620 src https://github.com/kbariotis.png?size=902621 span kbariotis2622 class contributor__name2623 a2624 class contributor2625 href https://github.com/mattce2626 img2627 src https://github.com/mattce.png?size=902628 span mattce2629 class contributor__name2630 a2631 class contributor2632 href https://github.com/skipjack2633 img2634 src https://github.com/skipjack.png?size=902635 span skipjack2636 class contributor__name2637 a2638 class contributor2639 href https://github.com/sokra2640 img2641 src https://github.com/sokra.png?size=902642 span sokra2643 class contributor__name2644 a2645 class contributor2646 href https://github.com/sricc2647 img2648 src https://github.com/sricc.png?size=902649 span sricc2650 class contributor__name2651 a2652 class contributor2653 href https://github.com/sterlingvix2654 img2655 src https://github.com/sterlingvix.png?size=902656 span sterlingvix2657 class contributor__name2658 a2659 class contributor2660 href https://github.com/terinjokes2661 img2662 src https://github.com/terinjokes.png?size=902663 span terinjokes2664 class contributor__name2665 . interactive2666 id components/gitter/gitter.jsx2667 data-props {}2668 span2669 class gitter2670 footer2671 class footer2672 . container footer__inner2673 section2674 class footer__left2675 a Getting Started2676 href /guides/getting-started2677 class footer__link2678 a Organization2679 href /organization2680 class footer__link2681 a Support2682 href /support2683 class footer__link2684 a Comparison2685 href /comparison2686 class footer__link2687 section2688 class footer__middle2689 a2690 href /2691 class footer__icon2692 img2693 src /6bc5d8cf78d442a984e70195db059b69.svg2694 alt webpack icon2695 section2696 class footer__right2697 a Glossary2698 href /glossary2699 class footer__link2700 a Branding2701 href /branding2702 class footer__link2703 a Gitter2704 href //gitter.im/webpack/webpack2705 target _blank2706 class footer__link2707 a Changelog2708 href https://github.com/webpack/webpack/releases2709 target _blank2710 class footer__link2711 a2712 href /license2713 class footer__link footer__license2714 img2715 alt Creative Commons License2716 src /c983c925f14c5a308465ce5f912be111.svg2717 img2718 alt Creative Commons License2719 src /c440e4e11ad72daf1899ca0616ddd8b8.svg2720 script (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-46921629-2', 'auto');ga('send', 'pageview');2721 js /a41afb7cd56b402a05b81b9498554a37.js2722 script2723 $.2724 (( window.gitter = {}).chat = {}).options = {)2725 room: 'webpack/webpack',2726 activationElement: false2727 };2728 js https://sidecar.gitter.im/dist/sidecar.v1.js
/src/ittf/jobs/ittf__copy/docs/html/stylesheets/style1.html.ittf
1 html 2 $include defs 3 head 4 @title Style sheets lab - styles 1 5 link 6 href https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:200,400,400i,500 7 css css/styles1.css.ittf 8 body 9 h2 a (anchor) 10 a link to 11 href # 12 class icon-link 13 h2 Icons 14 $foreach icon in iconDefs 15 a 16 href # 17 i 18 class ${icon.name} 19 br 20 h2 Navigation search 21 . navigation__search 22 span 23 class algolia-autocomplete 24 style position: relative; display: inline-block; direction: ltr; 25 input 26 type text 27 class navigation__search-input ds-input 28 placeholder Search documentation… 29 autocomplete off 30 spellcheck false 31 role combobox 32 aria-autocomplete list 33 aria-expanded false 34 aria-owns algolia-autocomplete-listbox-0 35 dir auto 36 style position: relative; vertical-align: top; 37 pre 38 aria-hidden true 39 style position: absolute; visibility: hidden; white-space: pre; font-family: Arial; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; word-spacing: 0px; letter-spacing: normal; text-indent: 7px; text-rendering: auto; text-transform: none; 40 span 41 class ds-dropdown-menu 42 role listbox 43 id algolia-autocomplete-listbox-0 44 style position: absolute; top: 100%; z-index: 100; left: 0px; right: auto; display: none; 45 . ds-dataset-1 46 button 47 class navigation__search-icon icon-magnifying-glass 48 button 49 class navigation__search-icon icon-cross 50 h2 Navigation 51 $include style1/navigation 52 h3 Logo 53 $include style1/logo
/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-tabpages.html.ittf
1 $group 2 div 3 id sample-${sample.id}-tabcontrol 4 div 5 class wz-ui-page wz-ui-default-page 6 id sample-${sample.id}-tab-${sample.primaryIttf.id} 7 . summary 8 $foreach line in sample.primaryIttf.summaryLines 9 + ${line} 10 $foreach line in sample.primaryIttf.nodeLines 11 + ${line} 12 $foreach mixin in sample.mixins 13 div 14 class wz-ui-page 15 id sample-${sample.id}-tab-${mixin.id} 16 . summary 17 $foreach line in mixin.summaryLines 18 + ${line} 19 $foreach line in mixin.nodeLines 20 + ${line} 21 $foreach include in sample.includes 22 div 23 class wz-ui-page 24 id sample-${sample.id}-tab-${include.id} 25 . summary 26 $foreach line in include.summaryLines 27 + ${line} 28 $foreach line in include.nodeLines 29 + ${line} 30 div 31 class wz-ui-page 32 id sample-${sample.id}-tab-${sample.schema.id} 33 . summary 34 $foreach line in sample.schema.summaryLines 35 + ${line} 36 $foreach line in sample.schema.nodeLines 37 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-tabs.html.ittf
1 $group 2 div 3 class wz-ui-tabs-container 4 ul 5 class wz-ui-tabs 6 li 7 a primary ittf ${sample.primaryIttf.name} 8 class wz-ui-tab 9 data-tab-page sample-${sample.id}-tab-${sample.primaryIttf.id} 10 $foreach mixin in sample.mixins 11 li 12 a mixin ${mixin.name} 13 class wz-ui-tab 14 data-tab-page sample-${sample.id}-tab-${mixin.id} 15 $foreach include in sample.includes 16 li 17 a include ${include.name} 18 class wz-ui-tab 19 data-tab-page sample-${sample.id}-tab-${include.id} 20 li 21 a schema ${sample.schema.name} 22 class wz-ui-tab 23 data-tab-page sample-${sample.id}-tab-${sample.schema.id}
/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/sample-treeview.html.ittf
1 $group 2 div 3 class wz-ui-tv-container 4 ul 5 class wz-ui-tv-documents 6 style list-style-type:none; margin:0; padding:0; 7 data-active-document-title-id ${sample.id}-active-document 8 tv-folder( 0 ) 9 ul 10 style list-style-type:none; margin:0; padding:0; 11 tv-folder( 10, schemas ) 12 ul 13 style list-style-type:none; margin:0; padding:0; 14 tv-document( 20 ) 15 a ${sample.schema.name} 16 class wz-ui-tv-document 17 data-doc-path ${sample.schema.path} 18 data-tab-page sample-${sample.id}-tab-${sample.schema.id} 19 $if sample.mixins.length + sample.includes.length > 0 20 tv-folder( 10, t ) 21 ul 22 style list-style-type: none; margin:0; padding:0; 23 $foreach mixin in sample.mixins 24 tv-document( 20 ) 25 a ${mixin.name} 26 class wz-ui-tv-document 27 data-doc-path ${mixin.path} 28 data-tab-page sample-${sample.id}-tab-${mixin.id} 29 $foreach include in sample.includes 30 tv-document( 20 ) 31 a ${include.name} 32 class wz-ui-tv-document 33 data-doc-path ${include.path} 34 data-tab-page sample-${sample.id}-tab-${include.id} 35 li 36 tv-document( 10 ) 37 a ${sample.primaryIttf.name} 38 class wz-ui-tv-document wz-ui-tv-document-selected 39 data-doc-path ${sample.primaryIttf.path} 40 data-tab-page sample-${sample.id}-tab-${sample.primaryIttf.id}
/src/ittf/jobs/ittf__copy/docs/html/t/html/concepts/toc.html.ittf
1 $group 2 section 3 id main-toc 4 class toc sidebar__inner 5 h3 Contents: 6 ol 7 $* 8 li 9 a Introduction 10 href #intro 11 li 12 a Concepts 13 ol 14 *$ 15 li 16 a Introduction 17 href #concepts_title 18 $foreach concept in docs.concepts 19 li 20 a ${concept.name} 21 href #${concept.id} 22 $* 23 li 24 a Samples 25 ol 26 $foreach sgroup in docs.sampleGroups 27 li 28 a ${sgroup.name} 29 href #${sgroup.id} 30 ol 31 $foreach sample in sgroup.samples 32 li 33 a ${sample.name} 34 href #${sample.id} 35 *$
/src/ittf/jobs/ittf__copy/docs/html/t/html/docs/toc.html.ittf
1 $group 2 section 3 id main-toc 4 class toc toc sidebar__inner 5 h3 Contents: 6 ol 7 $foreach concept in docs.concepts 8 li 9 a ${concept.name} 10 href #${concept.id} 11 $foreach section in docs.sections 12 li 13 a Package: ${section.name} 14 ol 15 $foreach concept in section.concepts 16 li 17 a ${concept.name} 18 href #${concept.id}
/src/ittf/jobs/ittf__copy/docs/html/t/html/t__copy/tv-document.html.ittf
1 li 2 $params ml 3 style margin-left:${ml}px; 4 img 5 src document.svg 6 $hook
/src/ittf/jobs/ittf__copy/docs/html/t/html/t__copy/tv-folder.html.ittf
1 li 2 $params ml, folderName|@@null 3 style margin-left:${ml}px; 4 img 5 src folder.svg 6 $if folderName != null 7 span ${folderName} 8 $hook
/src/ittf/jobs/ittf__copy/docs/html/t/html/header.html.ittf
1 $group 2 header 3 class header 4 role banner 5 div 6 class header-logo 7 img 8 src logo.svg 9 nav 10 role navigation 11 class header-items 12 a Getting started 13 class header-item 14 href /gettingstarted 15 a Documentation 16 class header-item 17 href /documentation 18 a API 19 class header-item 20 href /api 21 a Resources 22 class header-item 23 href /resources 24 a Contributing 25 class header-item 26 href /contributing
/src/ittf/jobs/ittf__copy/docs/html/t/index/guide_hint.html.ittf
1 $group 2 $params title, href, subtitle|@@null 3 div ${title} 4 class text-gamma 5 $if subtitle != null 6 p ${subtitle} 7 class mb-2 8 $hook 9 p 10 class mb-6 11 a Read the guide → 12 href ${href} 13 class link-mono
/src/ittf/jobs/ittf__copy/docs/html/code_intro.html.ittf
1 html/layout( code, intro ) 2 html/nav_sidebar() 3 section 4 id main-toc 5 class toc 6 h3 Contents: 7 ol 8 li 9 a Introduction 10 href #source-code 11 $foreach concept in docs.concepts 12 li 13 a ${concept.name} 14 href #${concept.id} 15 div 16 class main-content 17 h2 Source code 18 id source-code 19 . summary 20 $foreach line in docs.summaryLines 21 + ${line} 22 $foreach concept in docs.concepts 23 h2 ${concept.name} 24 id ${concept.id} 25 . summary 26 $foreach line in concept.summaryLines 27 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/concepts.html.ittf
1 html/layout( concepts ) 2 html/nav_sidebar() 3 $include html/concepts/toc 4 div 5 class main-content 6 $if docs.concepts && docs.concepts.length > 0 7 section 8 h1 Concepts 9 id concepts_title 10 . summary 11 $foreach line in docs.summaryLines 12 + ${line} 13 $foreach concept in docs.concepts 14 h2 ${concept.name} 15 id ${concept.id} 16 . summary 17 $foreach line in concept.summaryLines 18 + ${line} 19 $if docs.sampleGroups.length > 0 20 section 21 h1 Samples 22 article 23 $foreach sgroup in docs.sampleGroups 24 section 25 id ${sgroup.id} 26 h2 ${sgroup.name} 27 $foreach sample in sgroup.samples 28 div 29 id ${sample.id} 30 h3 ${sample.name} 31 . summary 32 $foreach line in sample.summaryLines 33 + ${line} 34 div 35 style clear:both; 36 div 37 b Example 38 div 39 style height: 250px; background-color: #000; padding: 5px; 40 div 41 style float:left; width:33%; border: 1px solid #555; 42 div Ittf documents 43 style color: yellow; padding: 5px; 44 div 45 style height: 200px;overflow:auto; margin:10px 9px 0;padding-right:2px 46 $include html/concepts/sample-treeview.html 47 div 48 style float:left; width:66%; border: 1px solid #555; 49 div 50 style padding: 5px; 51 span Selected: 52 style color: yellow; padding: 5px; 53 span 54 id ${sample.id}-active-document 55 style color: #f00; 56 div 57 style height: 200px;overflow:auto; margin:10px 9px 0;padding-right:2px 58 $include html/concepts/sample-tabpages.html 59 div 60 style clear:both;
/src/ittf/jobs/ittf__copy/docs/html/contribs.html.ittf
1 html/layout( contribs ) 2 . summary 3 $foreach line in docs.intro.summaryLines 4 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/docs.html.ittf
1 html/layout( docs, ${docs.name} ) 2 html/nav_sidebar() 3 $include html/docs/toc 4 div 5 class main-content 6 $foreach concept in docs.concepts 7 h2 ${concept.name} 8 id ${concept.id} 9 class concept 10 . summary 11 $foreach line in concept.summaryLines 12 + ${line} 13 section 14 $foreach section in docs.sections 15 h2 Package ${section.name} 16 $foreach concept in section.concepts 17 h2 ${concept.name} 18 id ${concept.id} 19 . summary 20 $foreach line in concept.summaryLines 21 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/index.html.ittf
1 html/layout( index ) 2 div 3 style margin-top: 50px; 4 . text-center bg-gray-light overflow-hidden 5 img 6 src mario sironi - 1920 - paesaggio urbano e camion - 1920.jpg 7 alt artistic factories 8 class hero-img 9 . py-6 bg-custom-gradient 10 . container text-center 11 h1 12 class text-beta 13 a 14 id build-your-app-on-githubs-platform 15 class anchor 16 href #build-your-app-on-githubs-platform 17 aria-hidden true 18 span 19 aria-hidden true 20 class octicon octicon-link 21 + Build your components with the wizzi factory 22 p Not sure where to start? We’ve put together some handy guides and reference documentation you can use to start building. 23 class lead text-center mb-6 24 a Learn more about the wizzi factory API 25 class btn btn-blue 26 href # 27 hr 28 class my-6 29 . container mb-4 30 . row clearfix 31 . col-xs-12 col-md-6 col-lg-8 pr-md-4 32 div Introduction to ... 33 class text-gamma 34 p Let's walk through the inner workings of ... 35 class mb-2 36 p 37 class mb-6 38 a Read the guide → 39 href # 40 class link-mono 41 div Forming ... 42 class text-gamma 43 p In this section, we're going to focus on how to ... 44 class mb-2 45 p 46 class mb-6 47 a Read the guide → 48 href # 49 class link-mono 50 div Migrating from ... 51 class text-gamma 52 p ... 53 class mb-2 54 p 55 class mb-6 56 a Read the guide → 57 href /v4/guides/migrating-from-rest 58 class link-mono 59 div Building ... 60 class text-gamma 61 p ... 62 class mb-2 63 p 64 class mb-6 65 a Read the docs → 66 href # 67 class link-mono
/src/ittf/jobs/ittf__copy/docs/html/labs.html.ittf
1 html/layout( labs ) 2 html/nav_sidebar() 3 section 4 id main-toc 5 class toc 6 h3 Contents: 7 ol 8 $foreach object in docs.objects 9 li 10 a ${object.name} 11 href #${object.id} 12 div 13 class main-content 14 section 15 $foreach object in docs.objects 16 h2 ${object.name} 17 id ${object.id} 18 . summary 19 $foreach line in object.summaryLines 20 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/project.html.ittf
1 html/layout( project ) 2 html/nav_sidebar() 3 section 4 id main-toc 5 class toc 6 h3 Contents: 7 ol 8 $foreach roadmap in docs.project.roadmaps 9 li 10 a ${roadmap.name} 11 href #${roadmap.id} 12 li 13 a Current tasks 14 href #project-todos 15 li 16 a Issues 17 href #project-issues 18 div 19 class main-content 20 section 21 $foreach roadmap in docs.project.roadmaps 22 h2 ${roadmap.name} 23 id ${roadmap.id} 24 . summary 25 $foreach line in roadmap.summaryLines 26 + ${line} 27 $foreach milestone in roadmap.milestones 28 section 29 h3 ${milestone.name} 30 . summary 31 $foreach line in milestone.summaryLines 32 + ${line} 33 h2 Current tasks 34 id project-todos 35 table 36 class pretty-table 37 $foreach todo in docs.project.todos 38 tr 39 td 40 h4 ${todo.name} 41 . summary 42 $foreach line in todo.summaryLines 43 + ${line} 44 h2 Issues 45 id project-issues 46 table 47 class pretty-table 48 $foreach issue in docs.project.issues 49 tr 50 td 51 h4 ${issue.name} 52 . summary 53 $foreach line in issue.summaryLines 54 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/specs.html.ittf
1 html/layout( specs ) 2 html/nav_sidebar() 3 section 4 id main-toc 5 class toc 6 h3 Contents: 7 ol 8 $foreach object in docs.objects 9 li 10 a ${object.name} 11 href #${object.id} 12 div 13 class main-content 14 section 15 $foreach object in docs.objects 16 h2 ${object.name} 17 id ${object.id} 18 . summary 19 $foreach line in object.summaryLines 20 + ${line}
/src/ittf/jobs/ittf__copy/docs/html/starters.html.ittf
1 html/layout( starters ) 2 html/nav_sidebar() 3 section 4 id main-toc 5 class toc 6 h3 Contents: 7 ol 8 $foreach object in docs.objects 9 li 10 a ${object.name} 11 href #${object.id} 12 div 13 class main-content 14 section 15 $foreach object in docs.objects 16 h2 ${object.name} 17 id ${object.id} 18 . summary 19 $foreach line in object.summaryLines 20 + ${line}
/src/ittf/jobs/ittf__copy/docs/code_intro.wfjob.ittf
1 wfjob wizzi-docs-code-intro 2 $ 3 var models_folder = path.join(__dirname, 'models'); 4 var html_folder = path.join(__dirname, 'html'); 5 var css_folder = path.join(__dirname, 'css'); 6 var js_folder = path.join(__dirname, 'js'); 7 var images_folder = path.join(__dirname, 'images'); 8 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/code"; 9 models-base-folder ${models_folder} 10 model code_intro 11 src code_intro.docs.ittf 12 schema docs 13 line html 14 cwd-folder ${html_folder} 15 wfjob/art-wo-html( code_intro.html.ittf ) 16 dest-path intro 17 model-ref code_intro 18 transformer docs/preprint 19 production 20 dest-folder ${dest_folder} 21 line-ref html
/src/ittf/jobs/ittf__copy/docs/concepts.wfjob.ittf
1 ./section( concepts )
/src/ittf/jobs/ittf__copy/docs/contribs.wfjob.ittf
1 ./section( contribs )
/src/ittf/jobs/ittf__copy/docs/docs.wfjob.ittf
1 wfjob wizzi-docs-docs 2 $ 3 var models_folder = path.join(__dirname, 'models'); 4 var sections = ['intro', 'ittf', 'jswizzi', 'models', 'artifacts', 'jobs', 'plugins']; 5 var html_folder = path.join(__dirname, 'html'); 6 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/docs"; 7 models-base-folder ${models_folder} 8 $foreach section in sections 9 model docs_${section} 10 src docs_${section}.docs.ittf 11 schema docs 12 line html 13 cwd-folder ${html_folder} 14 $foreach section in sections 15 wfjob/art-wo-html( docs.html.ittf ) 16 dest-path ${section} 17 model-ref docs_${section} 18 transformer docs/preprint 19 production 20 dest-folder ${dest_folder} 21 line-ref html
/src/ittf/jobs/ittf__copy/docs/index.wfjob.ittf
1 ./section( index )
/src/ittf/jobs/ittf__copy/docs/labs.wfjob.ittf
1 ./section( labs )
/src/ittf/jobs/ittf__copy/docs/project.wfjob.ittf
1 ./section( project )
/src/ittf/jobs/ittf__copy/docs/schemas.wfjob.ittf
1 wfjob schemas 2 $ 3 var ittf_html_folder = path.join(__dirname, 'html', 'schema'); 4 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io/docs"; 5 var packages = [ 6 { name: 'wizzi-core', schemas: ['wfschema', 'wfjob'] }, 7 { name: 'wizzi-meta', schemas: ['wfpackage'] } 8 /* { name: 'wizzi-docs', schemas: ['docs', 'md'] } */ 9 ]; 10 models-base-folder c:/my/wizzi/github 11 $foreach pkg in packages 12 $foreach schema in pkg.schemas 13 model ${schema} 14 src ${pkg.name}/lib/wizzi/models/${schema}-schema.g.json 15 format json 16 line one 17 cwd-folder ${ittf_html_folder} 18 dest-folder ${dest_folder} 19 $foreach pkg in packages 20 $foreach schema in pkg.schemas 21 artifact ${schema} html documentation 22 src wf-schema.html.ittf 23 schema html 24 generator html/document 25 dest-path ${schema} 26 extension html 27 model-ref ${schema} 28 export-name wfschema 29 production 30 dest-folder ${dest_folder} 31 line-ref one
/src/ittf/jobs/ittf__copy/docs/section.wfjob.ittf
1 wfjob wizzi-docs-${name} 2 $params name 3 $ 4 var models_folder = "c:/my/wizzi/v4/demo/wizzi-documentation/src/ittf/models/docs"; 5 var html_folder = path.join(__dirname, 'html'); 6 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 7 models-base-folder ${models_folder} 8 model ${name} 9 src ${name}.docs.ittf 10 schema docs 11 line html 12 cwd-folder ${html_folder} 13 wfjob/art-wo-html( ${name}.html.ittf ) 14 model-ref ${name} 15 transformer docs/preprint 16 production 17 dest-folder ${dest_folder} 18 line-ref html
/src/ittf/jobs/ittf__copy/docs/spa.wfjob.ittf
1 wfjob wizzi-docs-overview 2 $ 3 var css_folder = path.join(__dirname, 'css'); 4 var js_folder = path.join(__dirname, 'js'); 5 var images_folder = path.join(__dirname, 'images'); 6 var dest_folder = path.join(__dirname, 'result'); 7 line js 8 cwd-folder ${js_folder} 9 wfjob/art-wo-js( wizzifactory.js.ittf ) 10 line css 11 cwd-folder ${css_folder} 12 wfjob/art-wo-css( wizzifactory.css.ittf ) 13 line images 14 cwd-folder ${images_folder} 15 $include wfjob/any_plain_svg 16 production 17 dest-folder ${dest_folder} 18 line-ref js 19 line-ref css 20 line-ref images
/src/ittf/jobs/ittf__copy/docs/specs.wfjob.ittf
1 ./section( specs )
/src/ittf/jobs/ittf__copy/docs/starters.wfjob.ittf
1 ./section( starters )
/src/ittf/jobs/ittf__copy/site/site/t/css/__examples/github.css.ittf
1 css 2 font-face 3 font-family Roboto 4 font-style normal 5 font-weight 300 6 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 7 font-face 8 font-family Roboto 9 font-style normal 10 font-weight 400 11 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 12 font-face 13 font-family Roboto 14 font-style normal 15 font-weight 500 16 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 17 font-face 18 font-family Roboto 19 font-style italic 20 font-weight 400 21 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 22 font-face 23 font-family Roboto 24 font-style normal 25 font-weight 300 26 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 27 font-face 28 font-family Roboto 29 font-style normal 30 font-weight 400 31 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 32 font-face 33 font-family Roboto 34 font-style normal 35 font-weight 500 36 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 37 font-face 38 font-family Roboto 39 font-style italic 40 font-weight 400 41 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 42 . alt-body-font 43 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif 44 font-size 16px 45 . alt-mono-font 46 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace 47 font-size 16px 48 . alt-h1 49 + .alt-h2 50 + .alt-h3 51 + .alt-h4 52 + .alt-h5 53 + .alt-h6 54 + .alt-lead 55 -webkit-font-smoothing antialiased 56 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif 57 . alt-h1 58 font-size 36px 59 media (min-width:768px) 60 . alt-h1 61 font-size 48px 62 media (min-width:1012px) 63 . alt-h1 64 font-size 54px 65 . alt-h2 66 font-size 28px 67 media (min-width:768px) 68 . alt-h2 69 font-size 34px 70 media (min-width:1012px) 71 . alt-h2 72 font-size 38px 73 . alt-h3 74 font-size 18px 75 font-weight 400 76 . alt-h4 77 + .alt-h5 78 + .alt-h6 79 font-weight 500 80 media (min-width:768px) 81 . alt-h3 82 font-size 20px 83 media (min-width:1012px) 84 . alt-h3 85 font-size 22px 86 . alt-h4 87 font-size 16px 88 . alt-h5 89 font-size 14px 90 . alt-h6 91 font-size 12px 92 . alt-lead 93 -webkit-font-smoothing antialiased 94 font-size 21px 95 font-weight 300 96 media (min-width:768px) 97 . alt-lead 98 font-size 24px 99 media (min-width:1012px) 100 . alt-lead 101 font-size 26px 102 . alt-text-small 103 font-size 14px!important 104 . pullquote 105 padding-top 0 106 padding-bottom 0 107 padding-left 8px 108 margin-bottom 24px 109 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace 110 font-size 16px 111 line-height 1.4 112 color #767676 113 border-left 3px solid #e5e5e5 114 media (min-width:768px) 115 . pullquote 116 padding-left 12px 117 margin-bottom 32px 118 margin-left -15px 119 font-size 18px 120 line-height 1.5 121 < address 122 + dl 123 + ol 124 + p 125 + pre 126 + ul 127 margin-bottom 1rem 128 < h1 129 + h2 130 + h3 131 + h4 132 + h5 133 + h6 134 + label 135 + legend 136 margin-bottom .5rem 137 < address 138 + legend 139 line-height inherit 140 font-face 141 font-family Roboto 142 font-style normal 143 font-weight 300 144 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 145 font-face 146 font-family Roboto 147 font-style normal 148 font-weight 400 149 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 150 font-face 151 font-family Roboto 152 font-style normal 153 font-weight 500 154 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 155 font-face 156 font-family Roboto 157 font-style italic 158 font-weight 400 159 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 160 . breadcrumb-item 161 display inline-block 162 margin-left -4px 163 white-space nowrap 164 list-style none 165 . breadcrumb-item::after 166 padding-right .5em 167 padding-left .5em 168 color #e5e5e5 169 content "/" 170 . breadcrumb-item-selected::after 171 content none 172 font-face 173 font-family Roboto 174 font-style normal 175 font-weight 300 176 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 177 font-face 178 font-family Roboto 179 font-style normal 180 font-weight 400 181 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 182 font-face 183 font-family Roboto 184 font-style normal 185 font-weight 500 186 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 187 font-face 188 font-family Roboto 189 font-style italic 190 font-weight 400 191 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 192 . card 193 background-color #fff 194 font-face 195 font-family Roboto 196 font-style normal 197 font-weight 300 198 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 199 font-face 200 font-family Roboto 201 font-style normal 202 font-weight 400 203 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 204 font-face 205 font-family Roboto 206 font-style normal 207 font-weight 500 208 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 209 font-face 210 font-family Roboto 211 font-style italic 212 font-weight 400 213 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 214 media (min-width:544px) 215 . jumbotron 216 padding-top 60px 217 padding-bottom 60px 218 media (min-width:1280px) 219 . jumbotron 220 padding-top 120px 221 padding-bottom 120px 222 media (min-width:1012px) 223 . jumbotron-supertron 224 height 45vw 225 min-height 590px 226 max-height 55vh 227 padding-top 80px 228 padding-bottom 80px 229 . jumbotron-minitron 230 padding-top 24px 231 padding-bottom 24px 232 media (min-width:544px) 233 . jumbotron-minitron 234 padding-top 32px 235 padding-bottom 32px 236 . jumbotron-shadow::after 237 position absolute 238 bottom 0 239 left 0 240 width 100% 241 height 30px 242 content " " 243 background-color transparent 244 background-image linear-gradient(transparent,rgba(0,0,0,.05)) 245 background-repeat repeat-x 246 box-shadow inset 0 -1px 0 rgba(0,0,0,.05) 247 . jumbotron-photo 248 position relative 249 background-color #333 250 background-size cover 251 . jumbotron-photo::before 252 position absolute 253 bottom 0 254 left 0 255 display block 256 width 100% 257 height 100% 258 content "" 259 background-color rgba(0,0,0,.25) 260 < label 261 + output 262 display inline-block 263 < body 264 + table 265 background-color #fff 266 font-face 267 font-family Roboto 268 font-style normal 269 font-weight 300 270 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 271 font-face 272 font-family Roboto 273 font-style normal 274 font-weight 400 275 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 276 font-face 277 font-family Roboto 278 font-style normal 279 font-weight 500 280 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 281 font-face 282 font-family Roboto 283 font-style italic 284 font-weight 400 285 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 286 media (min-width:768px) 287 . page-section 288 padding 56px 0 289 . page-section-jumplink:target 290 padding-top 112px 291 font-face 292 font-family Roboto 293 font-style normal 294 font-weight 300 295 src local("Roboto Light"),local("Roboto-Light"),url(/static/fonts/roboto/roboto-light.woff) format("woff") 296 font-face 297 font-family Roboto 298 font-style normal 299 font-weight 400 300 src local("Roboto"),local("Roboto-Regular"),url(/static/fonts/roboto/roboto-regular.woff) format("woff") 301 font-face 302 font-family Roboto 303 font-style normal 304 font-weight 500 305 src local("Roboto Medium"),local("Roboto-Medium"),url(/static/fonts/roboto/roboto-medium.woff) format("woff") 306 font-face 307 font-family Roboto 308 font-style italic 309 font-weight 400 310 src local("Roboto Italic"),local("Roboto-Italic"),url(/static/fonts/roboto/roboto-italic.woff) format("woff") 311 . data-table tbody td 312 + .data-table tbody th 313 border-bottom-color #e5e5e5 314 . data-table tbody tr:last-child td 315 + .data-table tbody tr:last-child th 316 border-bottom 1px #e5e5e5 solid 317 < [class*=container] 318 width 100% 319 padding-left 20px 320 padding-right 20px 321 . container 322 max-width 1020px 323 . container-narrow 324 max-width 760px 325 . container-wide 326 max-width 1260px 327 . gut-1 328 margin-right -4px 329 margin-left -4px 330 . gut-1>[class*=col-] 331 padding-right 4px!important 332 padding-left 4px!important 333 . gut-2 334 margin-right -8px 335 margin-left -8px 336 . gut-2>[class*=col-] 337 padding-right 8px!important 338 padding-left 8px!important 339 . gut-3 340 margin-right -16px 341 margin-left -16px 342 . gut-3>[class*=col-] 343 padding-right 16px!important 344 padding-left 16px!important 345 . col-right 346 float right!important 347 . col-1 348 + .col-10 349 + .col-11 350 + .col-12 351 + .col-2 352 + .col-3 353 + .col-4 354 + .col-5 355 + .col-6 356 + .col-8 357 + .col-9 358 + .pagination a 359 + .pagination em 360 + .pagination>span 361 float left 362 . col-1 363 width calc(1/12 * 100%) 364 . col-2 365 width calc(2/12 * 100%) 366 . col-3 367 width calc(3/12 * 100%) 368 . col-4 369 width calc(4/12 * 100%) 370 . col-5 371 width calc(5/12 * 100%) 372 . col-6 373 width calc(6/12 * 100%) 374 . col-7 375 width calc(7/12 * 100%) 376 float left 377 . col-8 378 width calc(8/12 * 100%) 379 . col-9 380 width calc(9/12 * 100%) 381 . col-10 382 width calc(10/12 * 100%) 383 . col-11 384 width calc(11/12 * 100%) 385 media (min-width:544px) 386 . col-sm-1 387 width calc(1/12 * 100%) 388 float left 389 . col-sm-2 390 width calc(2/12 * 100%) 391 float left 392 . col-sm-3 393 width calc(3/12 * 100%) 394 float left 395 . col-sm-4 396 width calc(4/12 * 100%) 397 float left 398 . col-sm-5 399 width calc(5/12 * 100%) 400 float left 401 . col-sm-6 402 width calc(6/12 * 100%) 403 float left 404 . col-sm-7 405 width calc(7/12 * 100%) 406 float left 407 . col-sm-8 408 width calc(8/12 * 100%) 409 float left 410 . col-sm-9 411 width calc(9/12 * 100%) 412 float left 413 . col-sm-10 414 width calc(10/12 * 100%) 415 float left 416 . col-sm-11 417 width calc(11/12 * 100%) 418 float left 419 . col-sm-12 420 width 100% 421 float left 422 media (min-width:768px) 423 . page-section-jumplink:target 424 padding-top 80px 425 . col-md-1 426 width calc(1/12 * 100%) 427 float left 428 . col-md-2 429 width calc(2/12 * 100%) 430 float left 431 . col-md-3 432 width calc(3/12 * 100%) 433 float left 434 . col-md-4 435 width calc(4/12 * 100%) 436 float left 437 . col-md-5 438 width calc(5/12 * 100%) 439 float left 440 . col-md-6 441 width calc(6/12 * 100%) 442 float left 443 . col-md-7 444 width calc(7/12 * 100%) 445 float left 446 . col-md-8 447 width calc(8/12 * 100%) 448 float left 449 . col-md-9 450 width calc(9/12 * 100%) 451 float left 452 . col-md-10 453 width calc(10/12 * 100%) 454 float left 455 . col-md-11 456 width calc(11/12 * 100%) 457 float left 458 . col-md-12 459 width 100% 460 float left 461 . offset-1 462 margin-left calc(1/12 * 100%) 463 . offset-2 464 margin-left calc(2/12 * 100%) 465 . offset-3 466 margin-left calc(3/12 * 100%) 467 . offset-4 468 margin-left calc(4/12 * 100%) 469 . offset-5 470 margin-left calc(5/12 * 100%) 471 . offset-6 472 margin-left calc(6/12 * 100%) 473 . offset-7 474 margin-left calc(7/12 * 100%) 475 . offset-8 476 margin-left calc(8/12 * 100%) 477 . offset-9 478 margin-left calc(9/12 * 100%) 479 . offset-10 480 margin-left calc(10/12 * 100%) 481 . offset-11 482 margin-left calc(11/12 * 100%) 483 media (min-width:544px) 484 . offset-sm-1 485 margin-left calc(1/12 * 100%) 486 . offset-sm-2 487 margin-left calc(2/12 * 100%) 488 . offset-sm-3 489 margin-left calc(3/12 * 100%) 490 . offset-sm-4 491 margin-left calc(4/12 * 100%) 492 . offset-sm-5 493 margin-left calc(5/12 * 100%) 494 . offset-sm-6 495 margin-left calc(6/12 * 100%) 496 . offset-sm-7 497 margin-left calc(7/12 * 100%) 498 . offset-sm-8 499 margin-left calc(8/12 * 100%) 500 . offset-sm-9 501 margin-left calc(9/12 * 100%) 502 . offset-sm-10 503 margin-left calc(10/12 * 100%) 504 . offset-sm-11 505 margin-left calc(11/12 * 100%) 506 media (min-width:768px) 507 . offset-md-1 508 margin-left calc(1/12 * 100%) 509 . offset-md-2 510 margin-left calc(2/12 * 100%) 511 . offset-md-3 512 margin-left calc(3/12 * 100%) 513 . offset-md-4 514 margin-left calc(4/12 * 100%) 515 . offset-md-5 516 margin-left calc(5/12 * 100%) 517 . offset-md-6 518 margin-left calc(6/12 * 100%) 519 . offset-md-7 520 margin-left calc(7/12 * 100%) 521 . offset-md-8 522 margin-left calc(8/12 * 100%) 523 . offset-md-9 524 margin-left calc(9/12 * 100%) 525 . offset-md-10 526 margin-left calc(10/12 * 100%) 527 . offset-md-11 528 margin-left calc(11/12 * 100%) 529 media (min-width:1012px) 530 . col-lg-1 531 width calc(1/12 * 100%) 532 float left 533 . col-lg-2 534 width calc(2/12 * 100%) 535 float left 536 . col-lg-3 537 width calc(3/12 * 100%) 538 float left 539 . col-lg-4 540 width calc(4/12 * 100%) 541 float left 542 . col-lg-5 543 width calc(5/12 * 100%) 544 float left 545 . col-lg-6 546 width calc(6/12 * 100%) 547 float left 548 . col-lg-7 549 width calc(7/12 * 100%) 550 float left 551 . col-lg-8 552 width calc(8/12 * 100%) 553 float left 554 . col-lg-9 555 width calc(9/12 * 100%) 556 float left 557 . col-lg-10 558 width calc(10/12 * 100%) 559 float left 560 . col-lg-11 561 width calc(11/12 * 100%) 562 float left 563 . col-lg-12 564 width 100% 565 float left 566 . offset-lg-1 567 margin-left calc(1/12 * 100%) 568 . offset-lg-2 569 margin-left calc(2/12 * 100%) 570 . offset-lg-3 571 margin-left calc(3/12 * 100%) 572 . offset-lg-4 573 margin-left calc(4/12 * 100%) 574 . offset-lg-5 575 margin-left calc(5/12 * 100%) 576 . offset-lg-6 577 margin-left calc(6/12 * 100%) 578 . offset-lg-7 579 margin-left calc(7/12 * 100%) 580 . offset-lg-8 581 margin-left calc(8/12 * 100%) 582 . offset-lg-9 583 margin-left calc(9/12 * 100%) 584 . offset-lg-10 585 margin-left calc(10/12 * 100%) 586 . offset-lg-11 587 margin-left calc(11/12 * 100%) 588 media (min-width:1280px) 589 . col-xl-1 590 width calc(1/12 * 100%) 591 float left 592 . col-xl-2 593 width calc(2/12 * 100%) 594 float left 595 . col-xl-3 596 width calc(3/12 * 100%) 597 float left 598 . col-xl-4 599 width calc(4/12 * 100%) 600 float left 601 . col-xl-5 602 width calc(5/12 * 100%) 603 float left 604 . col-xl-6 605 width calc(6/12 * 100%) 606 float left 607 . col-xl-7 608 width calc(7/12 * 100%) 609 float left 610 . col-xl-8 611 width calc(8/12 * 100%) 612 float left 613 . col-xl-9 614 width calc(9/12 * 100%) 615 float left 616 . col-xl-10 617 width calc(10/12 * 100%) 618 float left 619 . col-xl-11 620 width calc(11/12 * 100%) 621 float left 622 . col-xl-12 623 width 100% 624 float left 625 . offset-xl-1 626 margin-left calc(1/12 * 100%) 627 . offset-xl-2 628 margin-left calc(2/12 * 100%) 629 . offset-xl-3 630 margin-left calc(3/12 * 100%) 631 . offset-xl-4 632 margin-left calc(4/12 * 100%) 633 . offset-xl-5 634 margin-left calc(5/12 * 100%) 635 . offset-xl-6 636 margin-left calc(6/12 * 100%) 637 . offset-xl-7 638 margin-left calc(7/12 * 100%) 639 . offset-xl-8 640 margin-left calc(8/12 * 100%) 641 . offset-xl-9 642 margin-left calc(9/12 * 100%) 643 . offset-xl-10 644 margin-left calc(10/12 * 100%) 645 . offset-xl-11 646 margin-left calc(11/12 * 100%) 647 < dd 648 + dl 649 + ol 650 + ul 651 margin-left 0 652 < html 653 box-sizing border-box 654 font-size 16px 655 -ms-overflow-style scrollbar 656 -webkit-tap-highlight-color transparent 657 < * 658 + ::after 659 + ::before 660 box-sizing inherit 661 < @-ms-viewport 662 width device-width 663 < [tabindex="-1"]:focus 664 outline 0!important 665 < abbr[data-original-title] 666 + abbr[title] 667 cursor help 668 border-bottom 1px dotted #e5e5e5 669 . btn 670 + [role=button] 671 cursor pointer 672 < address 673 font-style normal 674 < dl 675 + ol 676 + ul 677 padding-left 1.5em 678 . list-inline 679 + .list-unstyled 680 padding-left 0 681 < ol ol 682 + ol ul 683 + ul ol 684 + ul ul 685 margin-bottom 0 686 < figure 687 margin 0 0 1rem 688 < img 689 vertical-align middle 690 < [role=button] 691 + a 692 + area 693 + button 694 + input 695 + label 696 + select 697 + summary 698 + textarea 699 -ms-touch-action manipulation 700 touch-action manipulation 701 < caption 702 padding-top 16px 703 padding-bottom 16px 704 color #aaa 705 caption-side bottom 706 < button:focus 707 outline dotted 1px 708 outline -webkit-focus-ring-color auto 5px 709 < button 710 + input 711 + select 712 + textarea 713 margin 0 714 line-height inherit 715 border-radius 0 716 < fieldset 717 min-width 0 718 padding 0 719 margin 0 720 border 0 721 < legend 722 display block 723 width 100% 724 padding 0 725 font-size 1.5rem 726 < [hidden] 727 display none!important 728 . vertically-centered 729 display table 730 table-layout fixed 731 . vertically-centered.columns-reverse 732 direction rtl 733 . vertically-centered [class*=col-] 734 text-align left 735 direction ltr 736 media (min-width:544px) 737 . vertically-centered [class*=col-sm] 738 display table-cell 739 float none 740 vertical-align middle 741 < body 742 font-family -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol" 743 font-size 16px 744 line-height 1.5 745 color #767676 746 . text-alpha 747 + .text-beta 748 + h1 749 + h2 750 font-weight 300 751 line-height 1.2 752 . text-alpha 753 + h1 754 font-size 36px 755 media (min-width:768px) 756 . vertically-centered [class*=col-md] 757 display table-cell 758 float none 759 vertical-align middle 760 . text-alpha 761 + h1 762 font-size 48px 763 media (min-width:1012px) 764 . text-alpha 765 + h1 766 font-size 54px 767 . text-beta 768 + h2 769 font-size 28px 770 media (min-width:768px) 771 . text-beta 772 + h2 773 font-size 34px 774 media (min-width:1012px) 775 . text-beta 776 + h2 777 font-size 38px 778 . text-gamma 779 + h3 780 font-size 18px 781 font-weight 400 782 line-height 1.4 783 media (min-width:768px) 784 . text-gamma 785 + h3 786 font-size 20px 787 media (min-width:1012px) 788 . text-gamma 789 + h3 790 font-size 22px 791 . text-delta 792 + h4 793 font-size 16px 794 font-weight 500 795 line-height 1.4 796 . text-alpha 797 + .text-beta 798 + .text-delta 799 + .text-gamma 800 + h1 801 + h2 802 + h3 803 + h4 804 + h5 805 margin-top 0 806 margin-bottom .45em 807 color #3c4146 808 -webkit-font-smoothing antialiased 809 . lead 810 font-size 20px 811 font-weight 300 812 line-height 1.5 813 color #767676 814 -webkit-font-smoothing antialiased 815 media (min-width:768px) 816 . lead 817 font-size 24px 818 media (min-width:1012px) 819 . lead 820 font-size 26px 821 . checklist 822 list-style none 823 . checklist li 824 position relative 825 . checklist li::before 826 position absolute 827 top 0 828 left -18px 829 width 12px 830 height 12px 831 content url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.29 15"><path d="M19.29,2.37L6.43,15,0,8.68,2.41,6.32l4,3.95L16.88,0Z" fill="#aaa"/></svg>') 832 . checklist-theme li::before 833 content url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.29 15"><path d="M19.29,2.37L6.43,15,0,8.68,2.41,6.32l4,3.95L16.88,0Z" fill="#0079d1"/></svg>') 834 . list-inline 835 list-style none 836 . list-inline li 837 display inline 838 . list-unstyled li 839 list-style none 840 < hr 841 margin 16px 0 842 border-right 0 843 border-bottom 1px solid #e5e5e5 844 border-left 0 845 . border-top 846 + .border-y 847 border-top 1px solid #e5e5e5!important 848 . border-bottom 849 + .border-y 850 border-bottom 1px solid #e5e5e5!important 851 < blockquote 852 padding-left 16px 853 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace 854 font-size 16px 855 border-left 4px solid #e5e5e5 856 media (min-width:768px) 857 < hr 858 margin 32px 0 859 < blockquote 860 margin-left -20px 861 font-size 18px 862 . blockquote-alt 863 padding-left 0 864 margin-left 0 865 border-left 0 866 . blockquote-alt::before 867 display block 868 width 20px 869 height 25px 870 margin-bottom -28px 871 margin-left -25px 872 content "" 873 background url(images/chevron-right.svg) no-repeat 874 background-size 60px 60px 875 . blockquote-credit 876 display block 877 margin-top 16px 878 font-family -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol" 879 font-style normal 880 . blockquote-credit::before 881 content "— " 882 . border 883 border 1px solid #e5e5e5!important 884 . border-right 885 border-right 1px solid #e5e5e5!important 886 . border-left 887 border-left 1px solid #e5e5e5!important 888 . border-blue 889 border-color #c5d5dd!important 890 . border-gray-light 891 border-color #eee!important 892 . border-gray-dark 893 border-color #ddd!important 894 . border-0 895 border 0!important 896 . border-top-0 897 border-top 0!important 898 . border-right-0 899 border-right 0!important 900 . border-bottom-0 901 border-bottom 0!important 902 . border-left-0 903 border-left 0!important 904 . rounded-0 905 border-radius 0!important 906 . rounded-1 907 border-radius 6px!important 908 . rounded-2 909 border-radius 12px!important 910 . rounded-top 911 border-top-left-radius 6px!important 912 border-top-right-radius 6px!important 913 . rounded-bottom 914 border-bottom-right-radius 6px!important 915 border-bottom-left-radius 6px!important 916 . link-white 917 color #fff 918 opacity .7 919 . link-white:hover 920 opacity .8 921 . link-muted 922 color #767676 923 . link-muted:hover 924 color #3c4146 925 . bg-white 926 background #fff!important 927 . bg-black 928 background #3c4146!important 929 . bg-gray-light 930 background #f5f5f5!important 931 . bg-theme-color 932 background #0079d1!important 933 . position-static 934 position static!important 935 . position-relative 936 position relative!important 937 . position-absolute 938 position absolute!important 939 . position-fixed 940 position fixed!important 941 . top-0 942 top 0!important 943 . right-0 944 right 0!important 945 . bottom-0 946 bottom 0!important 947 . left-0 948 left 0!important 949 . d-block 950 display block!important 951 . d-inline 952 display inline!important 953 . d-inline-block 954 display inline-block!important 955 . d-table 956 display table!important 957 . d-table-cell 958 display table-cell!important 959 . d-none 960 + .hidden 961 display none!important 962 media (min-width:544px) 963 . d-sm-block 964 display block!important 965 . d-sm-inline 966 display inline!important 967 . d-sm-inline-block 968 display inline-block!important 969 . d-sm-table 970 display table!important 971 . d-sm-table-cell 972 display table-cell!important 973 . d-sm-none 974 display none!important 975 . float-sm-right 976 float right!important 977 media (min-width:768px) 978 . d-md-block 979 display block!important 980 . d-md-inline 981 display inline!important 982 . d-md-inline-block 983 display inline-block!important 984 . d-md-table 985 display table!important 986 . d-md-table-cell 987 display table-cell!important 988 . d-md-none 989 display none!important 990 . float-md-right 991 float right!important 992 media (min-width:1012px) 993 . d-lg-block 994 display block!important 995 . d-lg-inline 996 display inline!important 997 . d-lg-inline-block 998 display inline-block!important 999 . d-lg-table1000 display table!important1001 . d-lg-table-cell1002 display table-cell!important1003 . d-lg-none1004 display none!important1005 . float-lg-right1006 float right!important1007 media (min-width:1280px)1008 . d-xl-block1009 display block!important1010 . d-xl-inline1011 display inline!important1012 . d-xl-inline-block1013 display inline-block!important1014 . d-xl-table1015 display table!important1016 . d-xl-table-cell1017 display table-cell!important1018 . d-xl-none1019 display none!important1020 . float-xl-right1021 float right!important1022 . overflow-hidden1023 overflow hidden!important1024 . overflow-scroll1025 overflow scroll!important1026 . overflow-auto1027 overflow auto!important1028 . v-align-top1029 vertical-align top!important1030 . v-align-middle1031 vertical-align middle!important1032 . btn1033 + .published span1034 vertical-align middle1035 . ws-normal1036 white-space normal!important1037 . ws-nowrap1038 white-space nowrap!important1039 . breadcrumb li1040 + .btn1041 + .btn-link1042 + .meta li1043 + code1044 white-space nowrap1045 . clearfix::after1046 display table1047 . float-right1048 + .right1049 float right!important1050 . float-left1051 + .left1052 float left!important1053 . visually-hidden1054 position absolute1055 width 1px1056 height 1px1057 padding 01058 margin -1px1059 overflow hidden1060 clip rect(0 0 0 0)1061 border 01062 . pr-01063 + .px-01064 padding-right 0!important1065 . pl-01066 + .px-01067 padding-left 0!important1068 . pt-01069 + .py-01070 padding-top 0!important1071 . pb-01072 + .py-01073 padding-bottom 0!important1074 . visually-hidden.focusable:active1075 + .visually-hidden.focusable:focus1076 position static1077 width auto1078 height auto1079 margin 01080 overflow visible1081 clip auto1082 . mt-01083 + .my-01084 margin-top 0!important1085 . mb-01086 + .my-01087 margin-bottom 0!important1088 . mx-auto1089 margin-right auto!important1090 margin-left auto!important1091 . mr-01092 + .mx-01093 margin-right 0!important1094 . ml-01095 + .mx-01096 margin-left 0!important1097 . m-01098 margin 0!important1099 . mr-11100 + .mx-11101 margin-right 4px!important1102 . ml-11103 + .mx-11104 margin-left 4px!important1105 . mt-11106 + .my-11107 margin-top 4px!important1108 . mb-11109 + .my-11110 margin-bottom 4px!important1111 . m-11112 margin 4px!important1113 . mr-21114 + .mx-21115 margin-right 8px!important1116 . ml-21117 + .mx-21118 margin-left 8px!important1119 . mt-21120 + .my-21121 margin-top 8px!important1122 . mb-21123 + .my-21124 margin-bottom 8px!important1125 . m-21126 margin 8px!important1127 . mr-31128 + .mx-31129 margin-right 16px!important1130 . ml-31131 + .mx-31132 margin-left 16px!important1133 . mt-31134 + .my-31135 margin-top 16px!important1136 . mb-31137 + .my-31138 margin-bottom 16px!important1139 . m-31140 margin 16px!important1141 . mr-41142 + .mx-41143 margin-right 32px!important1144 . ml-41145 + .mx-41146 margin-left 32px!important1147 . mt-41148 + .my-41149 margin-top 32px!important1150 . mb-41151 + .my-41152 margin-bottom 32px!important1153 . m-41154 margin 32px!important1155 . mr-51156 + .mx-51157 margin-right 48px!important1158 . ml-51159 + .mx-51160 margin-left 48px!important1161 . mt-51162 + .my-51163 margin-top 48px!important1164 . mb-51165 + .my-51166 margin-bottom 48px!important1167 . m-51168 margin 48px!important1169 . mr-61170 + .mx-61171 margin-right 64px!important1172 . ml-61173 + .mx-61174 margin-left 64px!important1175 . mt-61176 + .my-61177 margin-top 64px!important1178 . mb-61179 + .my-61180 margin-bottom 64px!important1181 . m-61182 margin 64px!important1183 . mr-71184 + .mx-71185 margin-right 80px!important1186 . ml-71187 + .mx-71188 margin-left 80px!important1189 . mt-71190 + .my-71191 margin-top 80px!important1192 . mb-71193 + .my-71194 margin-bottom 80px!important1195 . m-71196 margin 80px!important1197 . mr-81198 + .mx-81199 margin-right 96px!important1200 . ml-81201 + .mx-81202 margin-left 96px!important1203 . mt-81204 + .my-81205 margin-top 96px!important1206 . mb-81207 + .my-81208 margin-bottom 96px!important1209 . m-81210 margin 96px!important1211 . mr-91212 + .mx-91213 margin-right 112px!important1214 . ml-91215 + .mx-91216 margin-left 112px!important1217 . mt-91218 + .my-91219 margin-top 112px!important1220 . mb-91221 + .my-91222 margin-bottom 112px!important1223 . m-91224 margin 112px!important1225 media (min-width:544px)1226 . float-sm-left1227 float left!important1228 . mr-sm-01229 + .mx-sm-01230 margin-right 0!important1231 . ml-sm-01232 + .mx-sm-01233 margin-left 0!important1234 . mt-sm-01235 + .my-sm-01236 margin-top 0!important1237 . mb-sm-01238 + .my-sm-01239 margin-bottom 0!important1240 . m-sm-01241 margin 0!important1242 . mr-sm-11243 + .mx-sm-11244 margin-right 4px!important1245 . ml-sm-11246 + .mx-sm-11247 margin-left 4px!important1248 . mt-sm-11249 + .my-sm-11250 margin-top 4px!important1251 . mb-sm-11252 + .my-sm-11253 margin-bottom 4px!important1254 . m-sm-11255 margin 4px!important1256 . mr-sm-21257 + .mx-sm-21258 margin-right 8px!important1259 . ml-sm-21260 + .mx-sm-21261 margin-left 8px!important1262 . mt-sm-21263 + .my-sm-21264 margin-top 8px!important1265 . mb-sm-21266 + .my-sm-21267 margin-bottom 8px!important1268 . m-sm-21269 margin 8px!important1270 . mr-sm-31271 + .mx-sm-31272 margin-right 16px!important1273 . ml-sm-31274 + .mx-sm-31275 margin-left 16px!important1276 . mt-sm-31277 + .my-sm-31278 margin-top 16px!important1279 . mb-sm-31280 + .my-sm-31281 margin-bottom 16px!important1282 . m-sm-31283 margin 16px!important1284 . mr-sm-41285 + .mx-sm-41286 margin-right 32px!important1287 . ml-sm-41288 + .mx-sm-41289 margin-left 32px!important1290 . mt-sm-41291 + .my-sm-41292 margin-top 32px!important1293 . mb-sm-41294 + .my-sm-41295 margin-bottom 32px!important1296 . m-sm-41297 margin 32px!important1298 . mr-sm-51299 + .mx-sm-51300 margin-right 48px!important1301 . ml-sm-51302 + .mx-sm-51303 margin-left 48px!important1304 . mt-sm-51305 + .my-sm-51306 margin-top 48px!important1307 . mb-sm-51308 + .my-sm-51309 margin-bottom 48px!important1310 . m-sm-51311 margin 48px!important1312 . mr-sm-61313 + .mx-sm-61314 margin-right 64px!important1315 . ml-sm-61316 + .mx-sm-61317 margin-left 64px!important1318 . mt-sm-61319 + .my-sm-61320 margin-top 64px!important1321 . mb-sm-61322 + .my-sm-61323 margin-bottom 64px!important1324 . m-sm-61325 margin 64px!important1326 . mr-sm-71327 + .mx-sm-71328 margin-right 80px!important1329 . ml-sm-71330 + .mx-sm-71331 margin-left 80px!important1332 . mt-sm-71333 + .my-sm-71334 margin-top 80px!important1335 . mb-sm-71336 + .my-sm-71337 margin-bottom 80px!important1338 . m-sm-71339 margin 80px!important1340 . mr-sm-81341 + .mx-sm-81342 margin-right 96px!important1343 . ml-sm-81344 + .mx-sm-81345 margin-left 96px!important1346 . mt-sm-81347 + .my-sm-81348 margin-top 96px!important1349 . mb-sm-81350 + .my-sm-81351 margin-bottom 96px!important1352 . m-sm-81353 margin 96px!important1354 . mr-sm-91355 + .mx-sm-91356 margin-right 112px!important1357 . ml-sm-91358 + .mx-sm-91359 margin-left 112px!important1360 . mt-sm-91361 + .my-sm-91362 margin-top 112px!important1363 . mb-sm-91364 + .my-sm-91365 margin-bottom 112px!important1366 . m-sm-91367 margin 112px!important1368 media (min-width:768px)1369 . float-md-left1370 float left!important1371 . mr-md-01372 + .mx-md-01373 margin-right 0!important1374 . ml-md-01375 + .mx-md-01376 margin-left 0!important1377 . mt-md-01378 + .my-md-01379 margin-top 0!important1380 . mb-md-01381 + .my-md-01382 margin-bottom 0!important1383 . m-md-01384 margin 0!important1385 . mr-md-11386 + .mx-md-11387 margin-right 4px!important1388 . ml-md-11389 + .mx-md-11390 margin-left 4px!important1391 . mt-md-11392 + .my-md-11393 margin-top 4px!important1394 . mb-md-11395 + .my-md-11396 margin-bottom 4px!important1397 . m-md-11398 margin 4px!important1399 . mr-md-21400 + .mx-md-21401 margin-right 8px!important1402 . ml-md-21403 + .mx-md-21404 margin-left 8px!important1405 . mt-md-21406 + .my-md-21407 margin-top 8px!important1408 . mb-md-21409 + .my-md-21410 margin-bottom 8px!important1411 . m-md-21412 margin 8px!important1413 . mr-md-31414 + .mx-md-31415 margin-right 16px!important1416 . ml-md-31417 + .mx-md-31418 margin-left 16px!important1419 . mt-md-31420 + .my-md-31421 margin-top 16px!important1422 . mb-md-31423 + .my-md-31424 margin-bottom 16px!important1425 . m-md-31426 margin 16px!important1427 . mr-md-41428 + .mx-md-41429 margin-right 32px!important1430 . ml-md-41431 + .mx-md-41432 margin-left 32px!important1433 . mt-md-41434 + .my-md-41435 margin-top 32px!important1436 . mb-md-41437 + .my-md-41438 margin-bottom 32px!important1439 . m-md-41440 margin 32px!important1441 . mr-md-51442 + .mx-md-51443 margin-right 48px!important1444 . ml-md-51445 + .mx-md-51446 margin-left 48px!important1447 . mt-md-51448 + .my-md-51449 margin-top 48px!important1450 . mb-md-51451 + .my-md-51452 margin-bottom 48px!important1453 . m-md-51454 margin 48px!important1455 . mr-md-61456 + .mx-md-61457 margin-right 64px!important1458 . ml-md-61459 + .mx-md-61460 margin-left 64px!important1461 . mt-md-61462 + .my-md-61463 margin-top 64px!important1464 . mb-md-61465 + .my-md-61466 margin-bottom 64px!important1467 . m-md-61468 margin 64px!important1469 . mr-md-71470 + .mx-md-71471 margin-right 80px!important1472 . ml-md-71473 + .mx-md-71474 margin-left 80px!important1475 . mt-md-71476 + .my-md-71477 margin-top 80px!important1478 . mb-md-71479 + .my-md-71480 margin-bottom 80px!important1481 . m-md-71482 margin 80px!important1483 . mr-md-81484 + .mx-md-81485 margin-right 96px!important1486 . ml-md-81487 + .mx-md-81488 margin-left 96px!important1489 . mt-md-81490 + .my-md-81491 margin-top 96px!important1492 . mb-md-81493 + .my-md-81494 margin-bottom 96px!important1495 . m-md-81496 margin 96px!important1497 . mr-md-91498 + .mx-md-91499 margin-right 112px!important1500 . ml-md-91501 + .mx-md-91502 margin-left 112px!important1503 . mt-md-91504 + .my-md-91505 margin-top 112px!important1506 . mb-md-91507 + .my-md-91508 margin-bottom 112px!important1509 . m-md-91510 margin 112px!important1511 . p-01512 padding 0!important1513 . pr-11514 + .px-11515 padding-right 4px!important1516 . pl-11517 + .px-11518 padding-left 4px!important1519 . pt-11520 + .py-11521 padding-top 4px!important1522 . pb-11523 + .py-11524 padding-bottom 4px!important1525 . p-11526 padding 4px!important1527 . pr-21528 + .px-21529 padding-right 8px!important1530 . pl-21531 + .px-21532 padding-left 8px!important1533 . pt-21534 + .py-21535 padding-top 8px!important1536 . pb-21537 + .py-21538 padding-bottom 8px!important1539 . p-21540 padding 8px!important1541 . pr-31542 + .px-31543 padding-right 16px!important1544 . pl-31545 + .px-31546 padding-left 16px!important1547 . pt-31548 + .py-31549 padding-top 16px!important1550 . pb-31551 + .py-31552 padding-bottom 16px!important1553 . p-31554 padding 16px!important1555 . pr-41556 + .px-41557 padding-right 32px!important1558 . pl-41559 + .px-41560 padding-left 32px!important1561 . pt-41562 + .py-41563 padding-top 32px!important1564 . pb-41565 + .py-41566 padding-bottom 32px!important1567 . p-41568 padding 32px!important1569 . pr-51570 + .px-51571 padding-right 48px!important1572 . pl-51573 + .px-51574 padding-left 48px!important1575 . pt-51576 + .py-51577 padding-top 48px!important1578 . pb-51579 + .py-51580 padding-bottom 48px!important1581 . p-51582 padding 48px!important1583 . pr-61584 + .px-61585 padding-right 64px!important1586 . pl-61587 + .px-61588 padding-left 64px!important1589 . pt-61590 + .py-61591 padding-top 64px!important1592 . pb-61593 + .py-61594 padding-bottom 64px!important1595 . p-61596 padding 64px!important1597 . pr-71598 + .px-71599 padding-right 80px!important1600 . pl-71601 + .px-71602 padding-left 80px!important1603 . pt-71604 + .py-71605 padding-top 80px!important1606 . pb-71607 + .py-71608 padding-bottom 80px!important1609 . p-71610 padding 80px!important1611 . pr-81612 + .px-81613 padding-right 96px!important1614 . pl-81615 + .px-81616 padding-left 96px!important1617 . pt-81618 + .py-81619 padding-top 96px!important1620 . pb-81621 + .py-81622 padding-bottom 96px!important1623 . p-81624 padding 96px!important1625 . pr-91626 + .px-91627 padding-right 112px!important1628 . pl-91629 + .px-91630 padding-left 112px!important1631 . pt-91632 + .py-91633 padding-top 112px!important1634 . pb-91635 + .py-91636 padding-bottom 112px!important1637 . p-91638 padding 112px!important1639 media (min-width:544px)1640 . pr-sm-01641 + .px-sm-01642 padding-right 0!important1643 . pl-sm-01644 + .px-sm-01645 padding-left 0!important1646 . pt-sm-01647 + .py-sm-01648 padding-top 0!important1649 . pb-sm-01650 + .py-sm-01651 padding-bottom 0!important1652 . p-sm-01653 padding 0!important1654 . pr-sm-11655 + .px-sm-11656 padding-right 4px!important1657 . pl-sm-11658 + .px-sm-11659 padding-left 4px!important1660 . pt-sm-11661 + .py-sm-11662 padding-top 4px!important1663 . pb-sm-11664 + .py-sm-11665 padding-bottom 4px!important1666 . p-sm-11667 padding 4px!important1668 . pr-sm-21669 + .px-sm-21670 padding-right 8px!important1671 . pl-sm-21672 + .px-sm-21673 padding-left 8px!important1674 . pt-sm-21675 + .py-sm-21676 padding-top 8px!important1677 . pb-sm-21678 + .py-sm-21679 padding-bottom 8px!important1680 . p-sm-21681 padding 8px!important1682 . pr-sm-31683 + .px-sm-31684 padding-right 16px!important1685 . pl-sm-31686 + .px-sm-31687 padding-left 16px!important1688 . pt-sm-31689 + .py-sm-31690 padding-top 16px!important1691 . pb-sm-31692 + .py-sm-31693 padding-bottom 16px!important1694 . p-sm-31695 padding 16px!important1696 . pr-sm-41697 + .px-sm-41698 padding-right 32px!important1699 . pl-sm-41700 + .px-sm-41701 padding-left 32px!important1702 . pt-sm-41703 + .py-sm-41704 padding-top 32px!important1705 . pb-sm-41706 + .py-sm-41707 padding-bottom 32px!important1708 . p-sm-41709 padding 32px!important1710 . pr-sm-51711 + .px-sm-51712 padding-right 48px!important1713 . pl-sm-51714 + .px-sm-51715 padding-left 48px!important1716 . pt-sm-51717 + .py-sm-51718 padding-top 48px!important1719 . pb-sm-51720 + .py-sm-51721 padding-bottom 48px!important1722 . p-sm-51723 padding 48px!important1724 . pr-sm-61725 + .px-sm-61726 padding-right 64px!important1727 . pl-sm-61728 + .px-sm-61729 padding-left 64px!important1730 . pt-sm-61731 + .py-sm-61732 padding-top 64px!important1733 . pb-sm-61734 + .py-sm-61735 padding-bottom 64px!important1736 . p-sm-61737 padding 64px!important1738 . pr-sm-71739 + .px-sm-71740 padding-right 80px!important1741 . pl-sm-71742 + .px-sm-71743 padding-left 80px!important1744 . pt-sm-71745 + .py-sm-71746 padding-top 80px!important1747 . pb-sm-71748 + .py-sm-71749 padding-bottom 80px!important1750 . p-sm-71751 padding 80px!important1752 . pr-sm-81753 + .px-sm-81754 padding-right 96px!important1755 . pl-sm-81756 + .px-sm-81757 padding-left 96px!important1758 . pt-sm-81759 + .py-sm-81760 padding-top 96px!important1761 . pb-sm-81762 + .py-sm-81763 padding-bottom 96px!important1764 . p-sm-81765 padding 96px!important1766 . pr-sm-91767 + .px-sm-91768 padding-right 112px!important1769 . pl-sm-91770 + .px-sm-91771 padding-left 112px!important1772 . pt-sm-91773 + .py-sm-91774 padding-top 112px!important1775 . pb-sm-91776 + .py-sm-91777 padding-bottom 112px!important1778 . p-sm-91779 padding 112px!important1780 media (min-width:768px)1781 . pr-md-01782 + .px-md-01783 padding-right 0!important1784 . pl-md-01785 + .px-md-01786 padding-left 0!important1787 . pt-md-01788 + .py-md-01789 padding-top 0!important1790 . pb-md-01791 + .py-md-01792 padding-bottom 0!important1793 . p-md-01794 padding 0!important1795 . pr-md-11796 + .px-md-11797 padding-right 4px!important1798 . pl-md-11799 + .px-md-11800 padding-left 4px!important1801 . pt-md-11802 + .py-md-11803 padding-top 4px!important1804 . pb-md-11805 + .py-md-11806 padding-bottom 4px!important1807 . p-md-11808 padding 4px!important1809 . pr-md-21810 + .px-md-21811 padding-right 8px!important1812 . pl-md-21813 + .px-md-21814 padding-left 8px!important1815 . pt-md-21816 + .py-md-21817 padding-top 8px!important1818 . pb-md-21819 + .py-md-21820 padding-bottom 8px!important1821 . p-md-21822 padding 8px!important1823 . pr-md-31824 + .px-md-31825 padding-right 16px!important1826 . pl-md-31827 + .px-md-31828 padding-left 16px!important1829 . pt-md-31830 + .py-md-31831 padding-top 16px!important1832 . pb-md-31833 + .py-md-31834 padding-bottom 16px!important1835 . p-md-31836 padding 16px!important1837 . pr-md-41838 + .px-md-41839 padding-right 32px!important1840 . pl-md-41841 + .px-md-41842 padding-left 32px!important1843 . pt-md-41844 + .py-md-41845 padding-top 32px!important1846 . pb-md-41847 + .py-md-41848 padding-bottom 32px!important1849 . p-md-41850 padding 32px!important1851 . pr-md-51852 + .px-md-51853 padding-right 48px!important1854 . pl-md-51855 + .px-md-51856 padding-left 48px!important1857 . pt-md-51858 + .py-md-51859 padding-top 48px!important1860 . pb-md-51861 + .py-md-51862 padding-bottom 48px!important1863 . p-md-51864 padding 48px!important1865 . pr-md-61866 + .px-md-61867 padding-right 64px!important1868 . pl-md-61869 + .px-md-61870 padding-left 64px!important1871 . pt-md-61872 + .py-md-61873 padding-top 64px!important1874 . pb-md-61875 + .py-md-61876 padding-bottom 64px!important1877 . p-md-61878 padding 64px!important1879 . pr-md-71880 + .px-md-71881 padding-right 80px!important1882 . pl-md-71883 + .px-md-71884 padding-left 80px!important1885 . pt-md-71886 + .py-md-71887 padding-top 80px!important1888 . pb-md-71889 + .py-md-71890 padding-bottom 80px!important1891 . p-md-71892 padding 80px!important1893 . pr-md-81894 + .px-md-81895 padding-right 96px!important1896 . pl-md-81897 + .px-md-81898 padding-left 96px!important1899 . pt-md-81900 + .py-md-81901 padding-top 96px!important1902 . pb-md-81903 + .py-md-81904 padding-bottom 96px!important1905 . p-md-81906 padding 96px!important1907 . pr-md-91908 + .px-md-91909 padding-right 112px!important1910 . pl-md-91911 + .px-md-91912 padding-left 112px!important1913 . pt-md-91914 + .py-md-91915 padding-top 112px!important1916 . pb-md-91917 + .py-md-91918 padding-bottom 112px!important1919 . p-md-91920 padding 112px!important1921 media (min-width:1012px)1922 . float-lg-left1923 float left!important1924 . mr-lg-01925 + .mx-lg-01926 margin-right 0!important1927 . ml-lg-01928 + .mx-lg-01929 margin-left 0!important1930 . mt-lg-01931 + .my-lg-01932 margin-top 0!important1933 . mb-lg-01934 + .my-lg-01935 margin-bottom 0!important1936 . m-lg-01937 margin 0!important1938 . mr-lg-11939 + .mx-lg-11940 margin-right 4px!important1941 . ml-lg-11942 + .mx-lg-11943 margin-left 4px!important1944 . mt-lg-11945 + .my-lg-11946 margin-top 4px!important1947 . mb-lg-11948 + .my-lg-11949 margin-bottom 4px!important1950 . m-lg-11951 margin 4px!important1952 . mr-lg-21953 + .mx-lg-21954 margin-right 8px!important1955 . ml-lg-21956 + .mx-lg-21957 margin-left 8px!important1958 . mt-lg-21959 + .my-lg-21960 margin-top 8px!important1961 . mb-lg-21962 + .my-lg-21963 margin-bottom 8px!important1964 . m-lg-21965 margin 8px!important1966 . mr-lg-31967 + .mx-lg-31968 margin-right 16px!important1969 . ml-lg-31970 + .mx-lg-31971 margin-left 16px!important1972 . mt-lg-31973 + .my-lg-31974 margin-top 16px!important1975 . mb-lg-31976 + .my-lg-31977 margin-bottom 16px!important1978 . m-lg-31979 margin 16px!important1980 . mr-lg-41981 + .mx-lg-41982 margin-right 32px!important1983 . ml-lg-41984 + .mx-lg-41985 margin-left 32px!important1986 . mt-lg-41987 + .my-lg-41988 margin-top 32px!important1989 . mb-lg-41990 + .my-lg-41991 margin-bottom 32px!important1992 . m-lg-41993 margin 32px!important1994 . mr-lg-51995 + .mx-lg-51996 margin-right 48px!important1997 . ml-lg-51998 + .mx-lg-51999 margin-left 48px!important2000 . mt-lg-52001 + .my-lg-52002 margin-top 48px!important2003 . mb-lg-52004 + .my-lg-52005 margin-bottom 48px!important2006 . m-lg-52007 margin 48px!important2008 . mr-lg-62009 + .mx-lg-62010 margin-right 64px!important2011 . ml-lg-62012 + .mx-lg-62013 margin-left 64px!important2014 . mt-lg-62015 + .my-lg-62016 margin-top 64px!important2017 . mb-lg-62018 + .my-lg-62019 margin-bottom 64px!important2020 . m-lg-62021 margin 64px!important2022 . mr-lg-72023 + .mx-lg-72024 margin-right 80px!important2025 . ml-lg-72026 + .mx-lg-72027 margin-left 80px!important2028 . mt-lg-72029 + .my-lg-72030 margin-top 80px!important2031 . mb-lg-72032 + .my-lg-72033 margin-bottom 80px!important2034 . m-lg-72035 margin 80px!important2036 . mr-lg-82037 + .mx-lg-82038 margin-right 96px!important2039 . ml-lg-82040 + .mx-lg-82041 margin-left 96px!important2042 . mt-lg-82043 + .my-lg-82044 margin-top 96px!important2045 . mb-lg-82046 + .my-lg-82047 margin-bottom 96px!important2048 . m-lg-82049 margin 96px!important2050 . mr-lg-92051 + .mx-lg-92052 margin-right 112px!important2053 . ml-lg-92054 + .mx-lg-92055 margin-left 112px!important2056 . mt-lg-92057 + .my-lg-92058 margin-top 112px!important2059 . mb-lg-92060 + .my-lg-92061 margin-bottom 112px!important2062 . m-lg-92063 margin 112px!important2064 . pr-lg-02065 + .px-lg-02066 padding-right 0!important2067 . pl-lg-02068 + .px-lg-02069 padding-left 0!important2070 . pt-lg-02071 + .py-lg-02072 padding-top 0!important2073 . pb-lg-02074 + .py-lg-02075 padding-bottom 0!important2076 . p-lg-02077 padding 0!important2078 . pr-lg-12079 + .px-lg-12080 padding-right 4px!important2081 . pl-lg-12082 + .px-lg-12083 padding-left 4px!important2084 . pt-lg-12085 + .py-lg-12086 padding-top 4px!important2087 . pb-lg-12088 + .py-lg-12089 padding-bottom 4px!important2090 . p-lg-12091 padding 4px!important2092 . pr-lg-22093 + .px-lg-22094 padding-right 8px!important2095 . pl-lg-22096 + .px-lg-22097 padding-left 8px!important2098 . pt-lg-22099 + .py-lg-22100 padding-top 8px!important2101 . pb-lg-22102 + .py-lg-22103 padding-bottom 8px!important2104 . p-lg-22105 padding 8px!important2106 . pr-lg-32107 + .px-lg-32108 padding-right 16px!important2109 . pl-lg-32110 + .px-lg-32111 padding-left 16px!important2112 . pt-lg-32113 + .py-lg-32114 padding-top 16px!important2115 . pb-lg-32116 + .py-lg-32117 padding-bottom 16px!important2118 . p-lg-32119 padding 16px!important2120 . pr-lg-42121 + .px-lg-42122 padding-right 32px!important2123 . pl-lg-42124 + .px-lg-42125 padding-left 32px!important2126 . pt-lg-42127 + .py-lg-42128 padding-top 32px!important2129 . pb-lg-42130 + .py-lg-42131 padding-bottom 32px!important2132 . p-lg-42133 padding 32px!important2134 . pr-lg-52135 + .px-lg-52136 padding-right 48px!important2137 . pl-lg-52138 + .px-lg-52139 padding-left 48px!important2140 . pt-lg-52141 + .py-lg-52142 padding-top 48px!important2143 . pb-lg-52144 + .py-lg-52145 padding-bottom 48px!important2146 . p-lg-52147 padding 48px!important2148 . pr-lg-62149 + .px-lg-62150 padding-right 64px!important2151 . pl-lg-62152 + .px-lg-62153 padding-left 64px!important2154 . pt-lg-62155 + .py-lg-62156 padding-top 64px!important2157 . pb-lg-62158 + .py-lg-62159 padding-bottom 64px!important2160 . p-lg-62161 padding 64px!important2162 . pr-lg-72163 + .px-lg-72164 padding-right 80px!important2165 . pl-lg-72166 + .px-lg-72167 padding-left 80px!important2168 . pt-lg-72169 + .py-lg-72170 padding-top 80px!important2171 . pb-lg-72172 + .py-lg-72173 padding-bottom 80px!important2174 . p-lg-72175 padding 80px!important2176 . pr-lg-82177 + .px-lg-82178 padding-right 96px!important2179 . pl-lg-82180 + .px-lg-82181 padding-left 96px!important2182 . pt-lg-82183 + .py-lg-82184 padding-top 96px!important2185 . pb-lg-82186 + .py-lg-82187 padding-bottom 96px!important2188 . p-lg-82189 padding 96px!important2190 . pr-lg-92191 + .px-lg-92192 padding-right 112px!important2193 . pl-lg-92194 + .px-lg-92195 padding-left 112px!important2196 . pt-lg-92197 + .py-lg-92198 padding-top 112px!important2199 . pb-lg-92200 + .py-lg-92201 padding-bottom 112px!important2202 . p-lg-92203 padding 112px!important2204 media (min-width:1280px)2205 . float-xl-left2206 float left!important2207 . mr-xl-02208 + .mx-xl-02209 margin-right 0!important2210 . ml-xl-02211 + .mx-xl-02212 margin-left 0!important2213 . mt-xl-02214 + .my-xl-02215 margin-top 0!important2216 . mb-xl-02217 + .my-xl-02218 margin-bottom 0!important2219 . m-xl-02220 margin 0!important2221 . mr-xl-12222 + .mx-xl-12223 margin-right 4px!important2224 . ml-xl-12225 + .mx-xl-12226 margin-left 4px!important2227 . mt-xl-12228 + .my-xl-12229 margin-top 4px!important2230 . mb-xl-12231 + .my-xl-12232 margin-bottom 4px!important2233 . m-xl-12234 margin 4px!important2235 . mr-xl-22236 + .mx-xl-22237 margin-right 8px!important2238 . ml-xl-22239 + .mx-xl-22240 margin-left 8px!important2241 . mt-xl-22242 + .my-xl-22243 margin-top 8px!important2244 . mb-xl-22245 + .my-xl-22246 margin-bottom 8px!important2247 . m-xl-22248 margin 8px!important2249 . mr-xl-32250 + .mx-xl-32251 margin-right 16px!important2252 . ml-xl-32253 + .mx-xl-32254 margin-left 16px!important2255 . mt-xl-32256 + .my-xl-32257 margin-top 16px!important2258 . mb-xl-32259 + .my-xl-32260 margin-bottom 16px!important2261 . m-xl-32262 margin 16px!important2263 . mr-xl-42264 + .mx-xl-42265 margin-right 32px!important2266 . ml-xl-42267 + .mx-xl-42268 margin-left 32px!important2269 . mt-xl-42270 + .my-xl-42271 margin-top 32px!important2272 . mb-xl-42273 + .my-xl-42274 margin-bottom 32px!important2275 . m-xl-42276 margin 32px!important2277 . mr-xl-52278 + .mx-xl-52279 margin-right 48px!important2280 . ml-xl-52281 + .mx-xl-52282 margin-left 48px!important2283 . mt-xl-52284 + .my-xl-52285 margin-top 48px!important2286 . mb-xl-52287 + .my-xl-52288 margin-bottom 48px!important2289 . m-xl-52290 margin 48px!important2291 . mr-xl-62292 + .mx-xl-62293 margin-right 64px!important2294 . ml-xl-62295 + .mx-xl-62296 margin-left 64px!important2297 . mt-xl-62298 + .my-xl-62299 margin-top 64px!important2300 . mb-xl-62301 + .my-xl-62302 margin-bottom 64px!important2303 . m-xl-62304 margin 64px!important2305 . mr-xl-72306 + .mx-xl-72307 margin-right 80px!important2308 . ml-xl-72309 + .mx-xl-72310 margin-left 80px!important2311 . mt-xl-72312 + .my-xl-72313 margin-top 80px!important2314 . mb-xl-72315 + .my-xl-72316 margin-bottom 80px!important2317 . m-xl-72318 margin 80px!important2319 . mr-xl-82320 + .mx-xl-82321 margin-right 96px!important2322 . ml-xl-82323 + .mx-xl-82324 margin-left 96px!important2325 . mt-xl-82326 + .my-xl-82327 margin-top 96px!important2328 . mb-xl-82329 + .my-xl-82330 margin-bottom 96px!important2331 . m-xl-82332 margin 96px!important2333 . mr-xl-92334 + .mx-xl-92335 margin-right 112px!important2336 . ml-xl-92337 + .mx-xl-92338 margin-left 112px!important2339 . mt-xl-92340 + .my-xl-92341 margin-top 112px!important2342 . mb-xl-92343 + .my-xl-92344 margin-bottom 112px!important2345 . m-xl-92346 margin 112px!important2347 . pr-xl-02348 + .px-xl-02349 padding-right 0!important2350 . pl-xl-02351 + .px-xl-02352 padding-left 0!important2353 . pt-xl-02354 + .py-xl-02355 padding-top 0!important2356 . pb-xl-02357 + .py-xl-02358 padding-bottom 0!important2359 . p-xl-02360 padding 0!important2361 . pr-xl-12362 + .px-xl-12363 padding-right 4px!important2364 . pl-xl-12365 + .px-xl-12366 padding-left 4px!important2367 . pt-xl-12368 + .py-xl-12369 padding-top 4px!important2370 . pb-xl-12371 + .py-xl-12372 padding-bottom 4px!important2373 . p-xl-12374 padding 4px!important2375 . pr-xl-22376 + .px-xl-22377 padding-right 8px!important2378 . pl-xl-22379 + .px-xl-22380 padding-left 8px!important2381 . pt-xl-22382 + .py-xl-22383 padding-top 8px!important2384 . pb-xl-22385 + .py-xl-22386 padding-bottom 8px!important2387 . p-xl-22388 padding 8px!important2389 . pr-xl-32390 + .px-xl-32391 padding-right 16px!important2392 . pl-xl-32393 + .px-xl-32394 padding-left 16px!important2395 . pt-xl-32396 + .py-xl-32397 padding-top 16px!important2398 . pb-xl-32399 + .py-xl-32400 padding-bottom 16px!important2401 . p-xl-32402 padding 16px!important2403 . pr-xl-42404 + .px-xl-42405 padding-right 32px!important2406 . pl-xl-42407 + .px-xl-42408 padding-left 32px!important2409 . pt-xl-42410 + .py-xl-42411 padding-top 32px!important2412 . pb-xl-42413 + .py-xl-42414 padding-bottom 32px!important2415 . p-xl-42416 padding 32px!important2417 . pr-xl-52418 + .px-xl-52419 padding-right 48px!important2420 . pl-xl-52421 + .px-xl-52422 padding-left 48px!important2423 . pt-xl-52424 + .py-xl-52425 padding-top 48px!important2426 . pb-xl-52427 + .py-xl-52428 padding-bottom 48px!important2429 . p-xl-52430 padding 48px!important2431 . pr-xl-62432 + .px-xl-62433 padding-right 64px!important2434 . pl-xl-62435 + .px-xl-62436 padding-left 64px!important2437 . pt-xl-62438 + .py-xl-62439 padding-top 64px!important2440 . pb-xl-62441 + .py-xl-62442 padding-bottom 64px!important2443 . p-xl-62444 padding 64px!important2445 . pr-xl-72446 + .px-xl-72447 padding-right 80px!important2448 . pl-xl-72449 + .px-xl-72450 padding-left 80px!important2451 . pt-xl-72452 + .py-xl-72453 padding-top 80px!important2454 . pb-xl-72455 + .py-xl-72456 padding-bottom 80px!important2457 . p-xl-72458 padding 80px!important2459 . pr-xl-82460 + .px-xl-82461 padding-right 96px!important2462 . pl-xl-82463 + .px-xl-82464 padding-left 96px!important2465 . pt-xl-82466 + .py-xl-82467 padding-top 96px!important2468 . pb-xl-82469 + .py-xl-82470 padding-bottom 96px!important2471 . p-xl-82472 padding 96px!important2473 . pr-xl-92474 + .px-xl-92475 padding-right 112px!important2476 . pl-xl-92477 + .px-xl-92478 padding-left 112px!important2479 . pt-xl-92480 + .py-xl-92481 padding-top 112px!important2482 . pb-xl-92483 + .py-xl-92484 padding-bottom 112px!important2485 . p-xl-92486 padding 112px!important2487 . img-fluid2488 width 100%2489 max-width 100%2490 height auto2491 . img-static2492 width auto2493 max-width none2494 height auto2495 . media-fluid img2496 width 100%2497 max-width 100%2498 height auto2499 . media-fluid .media-container2500 position relative2501 max-width 100%2502 height 02503 padding-top 30px2504 padding-bottom 56.25%2505 overflow hidden2506 . media-fluid .media-container embed2507 + .media-fluid .media-container iframe2508 + .media-fluid .media-container object2509 position absolute2510 top 02511 left 02512 width 100%2513 height 100%2514 . btn2515 + .footer2516 position relative2517 . text-black2518 color #3c4146!important2519 . text-default2520 color #767676!important2521 . text-white2522 + .text-white a2523 color #fff!important2524 . text-white a2525 opacity .7!important2526 . link-no-style2527 + .link-no-style:hover2528 color inherit!important2529 . text-small2530 font-size 13px!important2531 . text-bold2532 font-weight 500!important2533 . text-thin2534 font-weight 300!important2535 . text-center2536 text-align center!important2537 . text-left2538 + .text-right2539 text-align left!important2540 media (min-width:544px)2541 . text-sm-center2542 text-align center!important2543 . text-sm-left2544 + .text-sm-right2545 text-align left!important2546 media (min-width:768px)2547 . text-small2548 font-size 14px!important2549 . text-md-center2550 text-align center!important2551 . text-md-left2552 + .text-md-right2553 text-align left!important2554 media (min-width:1012px)2555 . text-lg-center2556 text-align center!important2557 . text-lg-left2558 + .text-lg-right2559 text-align left!important2560 media (min-width:1280px)2561 . text-xl-center2562 text-align center!important2563 . text-xl-left2564 + .text-xl-right2565 text-align left!important2566 . btn-block2567 + .footer2568 + .site-header2569 text-align center2570 . btn2571 display inline-block2572 padding .65em 1.25em2573 font-size inherit2574 font-weight 5002575 line-height 20px2576 color #7676762577 user-select none2578 background-color #eee2579 border 1px solid #d5d5d52580 border-radius .25em2581 . btn.selected:focus2582 + .btn:focus2583 + .btn:focus:hover2584 border-color #51a7e82585 . btn:focus2586 text-decoration none2587 outline 02588 box-shadow 0 0 5px rgba(81,167,232,.5)2589 . btn.zeroclipboard-is-active2590 + .btn.zeroclipboard-is-hover2591 + .btn:active2592 + .btn:hover2593 text-decoration none2594 background-color #ddd2595 background-image linear-gradient(#eee,#ddd)2596 border-color #ccc2597 . btn.selected2598 + .btn.zeroclipboard-is-active2599 + .btn:active2600 background-color #dcdcdc2601 background-image none2602 border-color #b5b5b52603 box-shadow inset 0 2px 4px rgba(0,0,0,.15)2604 . btn.selected:hover2605 background-color #cfcfcf2606 . btn.disabled2607 + .btn.disabled:hover2608 + .btn:disabled2609 + .btn:disabled:hover2610 color rgba(102,102,102,.5)2611 cursor default2612 background-color rgba(229,229,229,.5)2613 background-image none2614 border-color rgba(197,197,197,.5)2615 box-shadow none2616 . btn-sm2617 padding 2px 10px2618 . btn-block2619 display block2620 width 100%2621 . btn-link2622 display inline-block2623 padding 02624 font-size inherit2625 color #0079d12626 cursor pointer2627 -webkit-user-select none2628 -ms-user-select none2629 user-select none2630 background 0 02631 border 02632 . btn-blue2633 + .btn-orange2634 + .btn-purple2635 + .btn-themed2636 padding .55em 1em2637 font-size inherit2638 line-height 1.52639 font-weight 5002640 . btn-link:focus2641 + .btn-link:hover2642 text-decoration underline2643 background 0 02644 . btn-link:focus2645 outline 02646 . btn-purple2647 color #fff2648 background-color #7a34972649 background-image linear-gradient(#893baa,#6b2d84)2650 border-color #5b27712651 . btn-purple:hover2652 color #fff2653 background-color #6b2d842654 background-image linear-gradient(#7a3497,#5b2771)2655 border-color #4c205e2656 . btn-purple:active2657 text-shadow 0 1px 0 rgba(0,0,0,.15)2658 background-color #5b27712659 background-image none2660 border-color #5b27712661 . btn-purple.disabled2662 text-shadow none2663 . btn-blue2664 color #fff2665 text-shadow 0 -1px 0 rgba(0,0,0,.15)2666 background-color #0079d12667 background-image linear-gradient(#0088eb,#006ab8)2668 border-color #005b9e2669 . btn-blue:hover2670 color #fff2671 background-color #006ab82672 background-image linear-gradient(#0079d1,#005b9e)2673 border-color #004d852674 . btn-blue:active2675 text-shadow 0 1px 0 rgba(0,0,0,.15)2676 background-color #005b9e2677 background-image none2678 border-color #005b9e2679 . btn-blue.disabled2680 text-shadow none2681 . btn-orange2682 color #fff2683 text-shadow 0 -1px 0 rgba(0,0,0,.15)2684 background-color #e8400d2685 background-image linear-gradient(#f24e1c,#d0390c)2686 border-color #b8330a2687 . btn-orange:hover2688 color #fff2689 background-color #d0390c2690 background-image linear-gradient(#e8400d,#b8330a)2691 border-color #a02c092692 . btn-orange:active2693 text-shadow 0 1px 0 rgba(0,0,0,.15)2694 background-color #b8330a2695 background-image none2696 border-color #b8330a2697 . btn-orange.disabled2698 text-shadow none2699 . btn-themed2700 color #fff2701 text-shadow 0 -1px 0 rgba(0,0,0,.15)2702 background-color #0079d12703 background-image linear-gradient(#0088eb,#006ab8)2704 border-color #005b9e2705 . btn-themed:hover2706 color #fff2707 background-color #006ab82708 background-image linear-gradient(#0079d1,#005b9e)2709 border-color #004d852710 . btn-themed:active2711 text-shadow 0 1px 0 rgba(0,0,0,.15)2712 background-color #005b9e2713 background-image none2714 border-color #005b9e2715 . btn-themed.disabled2716 text-shadow none2717 < [class*=btn-outline]2718 color #0079d12719 background-color transparent2720 background-image none2721 border 1px solid #e5e5e52722 < [class*=btn-outline].selected2723 + [class*=btn-outline].zeroclipboard-is-active2724 + [class*=btn-outline].zeroclipboard-is-hover2725 + [class*=btn-outline]:active2726 + [class*=btn-outline]:hover2727 color #fff2728 background-color #0079d12729 background-image none2730 border-color #0079d12731 < [class*=btn-outline].selected:hover2732 background-color #005b9e2733 < [class*=btn-outline].disabled2734 + [class*=btn-outline].disabled:hover2735 + [class*=btn-outline]:disabled2736 + [class*=btn-outline]:disabled:hover2737 color #f5f5f52738 background-color #fff2739 background-image none2740 border-color #e5e5e52741 . btn-outline-purple2742 color #7a34972743 border-color #7a34972744 border-radius .25em2745 . btn-outline-purple:active2746 + .btn-outline-purple:hover2747 background-color #7a34972748 border-color #7a34972749 color #fff2750 . btn-outline-blue2751 color #0079d12752 border-color #0079d12753 border-radius .25em2754 . btn-outline-blue:active2755 + .btn-outline-blue:hover2756 background-color #0079d12757 border-color #0079d12758 color #fff2759 . btn-outline-orange2760 color #e8400d2761 border-color #e8400d2762 border-radius .25em2763 . btn-outline-orange:active2764 + .btn-outline-orange:hover2765 background-color #e8400d2766 border-color #e8400d2767 color #fff2768 . btn-outline-white2769 color #fff2770 border-color #fff2771 border-radius .25em2772 . btn-outline-white:active2773 + .btn-outline-white:hover2774 background-color #fff2775 border-color #fff2776 color #0079d12777 . btn-outline-themed2778 color #0079d12779 border-color #0079d12780 border-radius .25em2781 . btn-outline-themed:active2782 + .btn-outline-themed:hover2783 background-color #0079d12784 border-color #0079d12785 color #fff2786 . btn-lg2787 padding 16px 30px2788 font-size 18px2789 . slow-animate-in2790 -webkit-animation-name slowAnimateIn2791 animation-name slowAnimateIn2792 -webkit-animation-duration 2s2793 animation-duration 2s2794 -webkit-animation-fill-mode both2795 animation-fill-mode both2796 keyframes slowAnimateIn2797 vendor -webkit-2798 keyframe from2799 opacity 02800 -webkit-transform translate3d(0,20%,0)2801 transform translate3d(0,20%,0)2802 keyframe to2803 opacity 12804 -webkit-transform none2805 transform none2806 keyframes slowAnimateIn2807 vendor2808 keyframe from2809 opacity 02810 -webkit-transform translate3d(0,20%,0)2811 transform translate3d(0,20%,0)2812 keyframe to2813 opacity 12814 -webkit-transform none2815 transform none2816 . card2817 background #fff2818 border 1px solid #e5e5e52819 border-radius 6px2820 box-shadow 0 1px 1px rgba(0,0,0,.1)2821 < code2822 margin 02823 background-color rgba(0,0,0,.04)2824 border-radius 3px2825 < code::after2826 + code::before2827 letter-spacing -.2em2828 content "\00a0"2829 . highlight2830 margin 0 0 32px2831 background-color #f5f5f52832 border 1px solid #e5e5e52833 border-radius 6px2834 . highlight pre2835 padding 16px2836 margin-bottom 02837 overflow auto2838 font-size 16px2839 line-height 1.452840 . highlight pre code2841 display inline2842 max-width initial2843 padding 02844 margin 02845 overflow initial2846 line-height inherit2847 word-wrap normal2848 background-color transparent2849 border 02850 . menu-item2851 + .site-header2852 border-bottom 1px solid #e5e5e52853 . highlight pre code::after2854 + .highlight pre code::before2855 content none2856 . example2857 padding 16px2858 margin-top 16px2859 border 1px solid #e5e5e52860 border-top-left-radius 6px2861 border-top-right-radius 6px2862 . example+.highlight2863 margin-bottom 32px2864 border-top 02865 border-top-left-radius 02866 border-top-right-radius 02867 . screenshot2868 margin-bottom 48px2869 . screenshot img2870 display inline-block2871 margin 8px 02872 border-radius 6px2873 box-shadow 0 4px 14px rgba(0,0,0,.2)2874 . highlight+.highlight2875 margin-top -16px2876 . footer2877 padding-top 30px2878 padding-bottom 30px2879 margin-top 30px2880 font-size 13px2881 line-height 32px2882 border-top 1px solid #e5e5e52883 . footer-mark2884 position absolute2885 top 50%2886 left 50%2887 display none2888 margin-top -16px2889 margin-left -16px2890 color #ccc2891 . jumbotron2892 + .minitron2893 position relative2894 background-color #0079d12895 . ajax_paginate2896 + .paginate-wrap2897 + .site-header-nav2898 margin-top 20px2899 . footer-nav-item+.footer-nav-item2900 + .site-header-nav-item+.site-header-nav-item2901 margin-left 20px2902 media (min-width:768px)2903 . footer-mark2904 display block2905 . footer-nav2906 float right2907 . footer-legal2908 float left2909 . footer-nav-item2910 display inline-block2911 . minitron2912 padding-top 32px2913 padding-bottom 32px2914 media (min-width:544px)2915 . minitron2916 padding-top 48px2917 padding-bottom 48px2918 . jumbotron2919 padding-top 48px2920 padding-bottom 48px2921 media (min-width:768px)2922 . jumbotron2923 padding-top 96px2924 padding-bottom 96px2925 . jumbotron::after2926 position absolute2927 bottom 02928 left 02929 width 100%2930 height 30px2931 content " "2932 background-color transparent2933 background-image linear-gradient(transparent,rgba(0,0,0,.05))2934 background-repeat repeat-x2935 box-shadow inset 0 -1px 0 rgba(0,0,0,.05)2936 < #search-container2937 + .menu-item2938 position relative2939 . site-header2940 padding-top 25px2941 padding-bottom 25px2942 . site-header-logo2943 font-size 22px2944 . site-header-logo .mega-octicon2945 padding-right 5px2946 . site-header-logo .logo2947 width auto2948 height 18px2949 overflow visible!important2950 media (min-width:544px)2951 . site-header-logo .logo2952 height 22px2953 opacity .92954 . site-header-logo .logo:hover2955 opacity 12956 . site-header-logo .logo ellipse2957 + .site-header-logo .logo path2958 fill #aaa2959 media (min-width:700px)2960 . site-header2961 text-align left2962 . site-header-logo2963 float left2964 . site-header-nav2965 float right2966 margin-top 7px2967 . site-header-nav-item2968 display inline-block2969 color #5552970 . site-header-nav-item:hover2971 color #3332972 text-decoration none2973 . site-header-nav-item.active2974 color #3332975 . menu2976 margin-top 16px2977 margin-bottom 16px2978 list-style none2979 background-color #fff2980 border 1px solid #e5e5e52981 border-radius 6px2982 box-shadow 0 1px 1px rgba(0,0,0,.1)2983 . menu-item2984 display block2985 padding 12px 15px2986 . menu-item:first-child2987 border-top 02988 border-top-left-radius 6px2989 border-top-right-radius 6px2990 . menu-item:last-child2991 border-bottom 02992 border-bottom-right-radius 6px2993 border-bottom-left-radius 6px2994 . menu-item:hover2995 text-decoration none2996 background-color #f5f5f52997 . menu-item.selected2998 font-weight 5002999 color #3c41463000 cursor default3001 background-color #fff3002 . page-section3003 padding 32px 03004 margin-top 03005 media (min-width:768px)3006 . page-section3007 padding 64px 03008 . data-table3009 width 100%3010 margin-top 16px3011 border-collapse initial3012 border 1px solid #e5e5e53013 border-radius 4px3014 box-shadow 0 1px 1px rgba(0,0,0,.05)3015 . data-table td3016 + .data-table th3017 padding .5em3018 border-right 1px solid #e5e5e53019 border-bottom 1px solid #e5e5e53020 . data-table td:last-child3021 + .data-table th:last-child3022 border-right 03023 . data-table th3024 font-size 14px3025 font-weight 4003026 color #aaa3027 text-align left3028 . data-table tbody th3029 width 20%3030 . data-table tr:last-child td3031 border-bottom 03032 . breadcrumb li3033 display inline3034 margin-left 03035 list-style none3036 . breadcrumb li::after3037 padding 0 2px 0 5px3038 color #aaa3039 content "/"3040 . breadcrumb .breadcrumb-selected::after3041 content " "3042 media screen and (min-width:700px)3043 . site-header-logo3044 font-size 18px3045 . site-header-nav3046 margin-top 03047 . header-enterprise-version3048 color #3c41463049 font-weight 7003050 < #searchfield3051 padding 2px 5px 2px 25px3052 width 160px3053 font-weight 4003054 border-width 03055 background url(/assets/images/search.png) 8px center no-repeat #2023263056 transition width .3s ease-in-out 0s3057 color #fff3058 < #searchfield::-webkit-input-placeholder3059 color #7676763060 < #searchfield::-moz-placeholder3061 color #7676763062 < #searchfield:-ms-input-placeholder3063 color #7676763064 < #searchfield:-moz-placeholder3065 color #7676763066 < #searchfield:focus3067 box-shadow inset 0 1px 2px rgba(0,0,0,.075),0 0 6px rgba(0,121,209,.5)3068 < #searchfield::-ms-clear3069 height 03070 width 03071 < #search-container.active #searchfield3072 + #searchfield:focus3073 width 210px3074 media screen and (max-width:550px)3075 . site-header-search3076 display block3077 margin-top 10px3078 . site-header-nav-item+.site-header-search3079 margin-left 03080 < #searchfield3081 width 200px3082 < #search-container.active #searchfield3083 + #searchfield:focus3084 width 260px3085 < a.site-header-nav-item:hover3086 color rgba(255,255,255,.7)3087 . cancel-search3088 position absolute3089 right 10px3090 top 10px3091 background url(/assets/images/cancel.png) no-repeat3092 width 14px3093 height 14px3094 display none3095 < #search-container.active .cancel-search3096 display block3097 < #search-results3098 position absolute3099 top 41px3100 right 03101 width 260px3102 background-color #3c41463103 border-radius 4px3104 min-height 40px3105 z-index 1003106 overflow hidden3107 box-shadow 0 1px 3px rgba(0,0,0,.4)3108 visibility hidden3109 opacity 03110 padding-left 03111 < #search-container.active #searchfield:focus~#search-results3112 + #search-results:active3113 + #search-results:focus3114 + #search-results:hover3115 visibility visible3116 opacity 13117 transition opacity .3s ease-in-out 0s3118 < #search-results li3119 display block3120 width 100%3121 border-bottom 1px solid #2023263122 text-align left3123 < #search-results .result a3124 display block3125 text-shadow none3126 padding 10px3127 < #search-results .result a:hover3128 text-decoration none3129 < #search-results .placeholder3130 text-align center3131 font-size 12px3132 font-weight 4003133 padding 20px 03134 color rgba(255,255,255,.7)3135 < #search-results em3136 font-weight 7003137 < #search-results .result em3138 display block3139 font-weight 4003140 font-style normal3141 line-height 1em3142 . result small3143 font-size 12px3144 color #5c5c5c3145 line-height 1em3146 . result.selected3147 + .result:hover3148 background-color #0079d1!important3149 . result.selected em3150 + .result.selected small3151 + .result:hover em3152 + .result:hover small3153 color #fff!important3154 < #search-results li:last-child3155 border-bottom none3156 . site-header3157 background-color #3c41463158 border-bottom-color #2023263159 . site-header-nav a3160 color #fff3161 . hero-img3162 margin 0 auto 0 50%3163 max-width 800px3164 -webkit-transform translateX(-50%)3165 transform translateX(-50%)3166 media (min-width:768px)3167 . hero-img3168 -webkit-transform translateX(0)!important3169 transform translateX(0)!important3170 min-width none3171 margin-left 0!important3172 max-width 90%3173 . flash-header3174 font-size 20px3175 font-weight 3003176 color rgba(255,255,255,.8)3177 . flash-header a3178 color #fff!important3179 font-weight 4003180 . sub-nav3181 position relative3182 . sub-nav h23183 margin 0 0 20px3184 font-size 22px3185 . sub-nav h2 a3186 color #3333187 . sub-nav h2 a3188 + .sub-nav li a3189 font-weight 4003190 text-decoration none3191 . sub-nav ul3192 margin 03193 padding 03194 list-style none3195 border-left 1px solid #ddd3196 . sub-nav ul li3197 display block3198 . sub-nav ul a3199 display block3200 color #7676763201 font-size 14px3202 padding 6px 12px3203 . sub-nav ul a.active3204 color #2223205 border-left 2px solid #d8d8d83206 padding-left 10px3207 . sub-nav ul a:hover3208 color #005b9e3209 media screen and (min-width:469px)3210 . sub-nav3211 border-bottom 1px solid #ddd3212 . sub-nav h23213 margin 0 0 10px3214 . sub-nav ul3215 display block3216 position absolute3217 right 03218 bottom 03219 border none3220 . sub-nav ul a3221 + .sub-nav ul li3222 display inline-block3223 width auto3224 . sub-nav ul li3225 margin-left 16px3226 . sub-nav ul a3227 padding 0 0 8px3228 . sub-nav ul a.active3229 padding-left 03230 border-left none3231 border-bottom 2px solid #d8d8d83232 . sidebar-module h33233 + .sidebar-shell3234 position relative3235 . homepage-jumbotron:after3236 + .libraries-jumbotron:after3237 display none3238 . nav-select.nav-select-bottom3239 padding 0 12px3240 . nav-select .form-select3241 width 100%3242 . highlight-module .mega-octicon3243 font-size 70px3244 width 70px3245 height 70px3246 text-align center3247 color #3333248 . homepage-jumbotron3249 max-width 1020px3250 padding-left 20px3251 padding-right 20px3252 margin 0 auto3253 position relative3254 background-color #fff3255 background-image url(/assets/images/rocketship.png)3256 background-position 50% 10px3257 background-repeat no-repeat3258 background-size 303px 187px3259 . homepage-jumbotron .jumbotron-text3260 margin 160px auto 03261 text-align center3262 max-width 350px3263 media screen and (min-width:544px)3264 . homepage-jumbotron3265 background-position 100% 50%3266 . homepage-jumbotron .jumbotron-text3267 text-align left3268 margin 03269 media screen and (min-width:768px)3270 . homepage-jumbotron3271 background-position 50% 10px3272 background-size 455px 281px3273 . homepage-jumbotron .jumbotron-text3274 margin 210px auto 03275 text-align center3276 max-width 500px3277 media screen and (min-width:900px)3278 . homepage-jumbotron3279 background-position 100% 50%3280 background-size 530px 327px3281 . homepage-jumbotron .jumbotron-text3282 margin 03283 text-align left3284 max-width 500px3285 . libraries-jumbotron3286 margin-bottom 2em3287 padding-top 03288 background-color #fff3289 text-align center3290 border-bottom 1px solid #ddd3291 overflow hidden3292 . libraries-jumbotron li3293 margin 03294 padding 03295 . libraries-jumbotron .gundamcat3296 width 263px3297 height 218px3298 . octokit-links3299 width 190px3300 display inline-block3301 font-size 20px3302 . octokit-language3303 text-align left3304 . octokit-language span3305 width 70px3306 display inline-block3307 text-align right3308 margin-right 10px3309 color #3333310 . octokit-language a3311 width 100px3312 display inline-block3313 media screen and (min-width:660px)3314 . libraries-jumbotron3315 padding-top 36px3316 text-align left3317 . libraries-jumbotron .gundamcat3318 float right3319 media screen and (min-width:768px)3320 . libraries-jumbotron .gundamcat3321 width 368px3322 height 305px3323 margin-left 20px3324 . octokit-links3325 font-size 24px3326 media screen and (min-width:960px)3327 . libraries-jumbotron .gundamcat3328 width 526px3329 height 473px3330 margin-left 20px3331 margin-bottom -120px3332 position relative3333 top 20px3334 . library-list h23335 font-size 24px3336 . library-list>ul3337 list-style none3338 . library-list>ul li3339 margin-bottom .5em3340 media screen and (min-width:768px)3341 . library-list h23342 margin-bottom -27px3343 margin-left 03344 max-width 190px3345 . library-list>ul3346 padding-left 03347 margin-bottom 40px3348 . library-list>ul li3349 padding-left 220px3350 font-size 20px3351 . sidebar-module3352 border-radius 4px3353 overflow hidden3354 margin-bottom 20px3355 font-size 12px3356 border 1px solid #ddd3357 padding 03358 . sidebar-menu3359 margin-top 12px3360 list-style none3361 background-color #fff3362 border 1px solid #e5e5e53363 border-radius 6px3364 box-shadow 0 1px 1px rgba(0,0,0,.1)3365 . sidebar-module ul3366 margin 03367 padding 03368 . sidebar-module.notice3369 background #fafafb3370 border-radius 4px3371 line-height 1.5em3372 . notice>p3373 padding 12px3374 margin 03375 . sidebar-module li3376 list-style-type none3377 . headlines li:last-child3378 + .sidebar-module ul li:last-child h33379 border-bottom none3380 . sidebar-module ul li:last-child ul li:first-child3381 border-top 1px solid #eee3382 . headlines>li3383 + .sidebar-module ul h33384 margin 03385 color #6663386 border-bottom 1px solid #eee3387 font-size 14px3388 . headlines>li>a3389 color #3333390 display block3391 padding 10px3392 text-decoration none3393 font-size 15px3394 font-weight 3003395 . headlines>li>a:hover3396 color #327fc73397 . headlines>li>a>.date3398 font-weight 4003399 font-size 12px3400 color #8883401 . headlines li:hover3402 background-color #fdfdfd3403 . sidebar-module h3 a3404 padding 8px 10px3405 color #5553406 text-decoration none3407 display block3408 . sidebar-module h3 a:hover3409 text-decoration none3410 color #327fc73411 background-color #fdfdfd3412 . sidebar-module ul ul li3413 border-bottom 1px solid #eee3414 font-weight 7003415 color #6663416 background-color #f9f9f93417 . js-current .standalone a3418 + .sidebar-module .disable>a3419 color #3333420 border-left 2px solid #d269113421 background-color #f4f4f43422 . sidebar-module ul li:last-child ul li:last-child3423 border-bottom none3424 . sidebar-module .disable>a3425 padding-left 26px3426 . js-current .standalone a3427 padding-left 8px3428 . sidebar-module ul ul li a3429 padding 6px 0 6px 28px3430 display block3431 text-decoration none3432 font-weight 4003433 . sidebar-module ul ul li a:hover3434 background-color #f2f2f23435 color #005b9e3436 . sidebar-module a+a3437 padding-left 27px3438 . sidebar-module .arrow-btn3439 background-image url(/assets/images/expand-arrows.png)3440 background-repeat no-repeat3441 background-position -3px -3px3442 width 30px3443 height 50px3444 padding 0 4px3445 text-decoration none3446 position absolute3447 left 03448 top 03449 background-color transparent3450 . arrow-btn.expanded3451 background-position -41px -3px3452 . arrow-btn.collapsed:hover3453 background-position -3px -43px3454 background-color transparent3455 . arrow-btn.expanded:hover3456 background-position -41px -43px3457 background-color transparent3458 . alert3459 + .warning3460 position relative3461 padding 15px 15px 03462 margin-bottom 20px3463 border-radius 3px3464 font-weight 4003465 . alert3466 color #264c723467 border 1px solid #97c1da3468 background-color #d8ebf83469 . alert.danger3470 color #9c24003471 background-color #f8d8d83472 background -webkit-linear-gradient(#f8d8d8,#efd0d0)3473 -ms-filter "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8d8d8', endColorstr='#efd0d0')"3474 border 1px solid #da97973475 . warning3476 color #613A003477 border 1px solid #dca8743478 background-color #ffe3c83479 . alert table3480 background-color #d8ebf83481 . warning table3482 background-color #ffe3c83483 . api-status3484 font-size 14px3485 . api-status a3486 color #9993487 background-position center bottom3488 background-repeat no-repeat3489 padding-bottom 40px3490 display block3491 . api-status .unknown3492 background-image url(/assets/images/status-icon-unknown.png)3493 . api-status .good3494 color #227b413495 background-image url(/assets/images/status-icon-good.png)3496 . api-status .minor3497 color #ed8b3f3498 background-image url(/assets/images/status-icon-minor.png)3499 . api-status .major3500 color #ad1a053501 background-image url(/assets/images/status-icon-major.png)3502 . api-status a:hover3503 text-decoration none3504 color #327fc73505 . dev-program-jumbotron3506 background-color #1606253507 position relative3508 text-align center3509 overflow hidden3510 . dev-program-jumbotron .jumbotron-text3511 position relative3512 z-index 23513 . dev-program-jumbotron h13514 font-size 28px3515 color #eee3516 . dev-program-jumbotron .lead3517 font-size 16px3518 color #a397ad3519 . earth-animation3520 width 320px3521 height 267px3522 position relative3523 margin -40px -15px -5px3524 z-index 13525 . earth-animation .earth-loop3526 + .earth-animation.show-loop .earth-intro3527 display none3528 . earth-animation.show-loop .earth-loop3529 display block3530 . anchor3531 + body.dev-mode.enterprise .not-enterprise3532 + body:not(.enterprise) .enterprise-only3533 display none3534 . earth-animation img3535 position absolute3536 top 03537 left 03538 width 100%3539 height 100%3540 media screen and (min-width:768px)3541 . dev-program-jumbotron h13542 font-size 36px3543 . dev-program-jumbotron .lead3544 font-size 20px3545 . earth-animation3546 width 450px3547 height 375px3548 margin-top -80px3549 margin-bottom -40px3550 media screen and (min-width:900px)3551 . dev-program-jumbotron3552 text-align left3553 . dev-program-jumbotron .jumbotron-text3554 max-width 500px3555 . earth-animation3556 float right3557 margin -40px3558 . dev-program-callout3559 overflow hidden3560 background #1606253561 . dev-program-callout h23562 margin 03563 color #eee3564 . dev-program-callout p3565 margin 10px 0 03566 font-size 16px3567 color #a397ad3568 . dev-program-callout .container3569 padding-top 40px3570 padding-bottom 90px3571 background url(/assets/images/callout-earth-static.png) 50% 130px no-repeat #1606253572 background-size 360px 300px3573 text-align center3574 media screen and (min-width:468px)3575 . earth-animation3576 width 450px3577 height 375px3578 . dev-program-callout .container3579 padding-bottom 120px3580 background-position 50% 90px3581 media screen and (min-width:820px)3582 . dev-program-callout3583 padding-bottom 03584 . dev-program-callout .container3585 padding-bottom 40px3586 background-position 105% -10px3587 text-align left3588 media screen and (min-width:920px)3589 . dev-program-callout .container3590 background-size 480px 400px3591 background-position 105% -25px3592 < body.dev-mode .enterprise-only3593 border 3px solid red3594 < body.dev-mode .not-enterprise3595 border 3px dashed #00f3596 . content .anchor3597 display inline-block3598 position absolute3599 left -32px3600 top 03601 opacity 03602 padding 0 5px 0 10px3603 height 100%3604 font normal normal 16px/20px octicons3605 -webkit-font-smoothing antialiased3606 color #3333607 transition opacity .3s ease-in-out 0s3608 . content3609 + .content h13610 + .content h23611 + .content h33612 + .content h43613 + ol3614 + ol>li3615 position relative3616 < dt3617 + ol>li:before3618 font-weight 7003619 . content h1 .anchor3620 line-height 43px3621 . content h2 .anchor3622 line-height 33px3623 . content h3 .anchor3624 line-height 25px3625 . content h1:hover .anchor3626 + .content h2:hover .anchor3627 + .content h3:hover .anchor3628 + .content h4:hover .anchor3629 opacity 13630 text-decoration none3631 media screen and (min-width:768px)3632 < h13633 font-size 36px3634 < h23635 font-size 28px3636 < h33637 font-size 18px3638 . change>.title3639 line-height 1.4em3640 margin 03641 padding-left 03642 font-size 30px3643 < h2 span.step3644 color #6663645 < a3646 color #4183C43647 text-decoration none3648 < a:active3649 + a:hover3650 outline-width 03651 color #005b9e3652 text-decoration underline3653 . button:hover3654 + .rss-subscribe3655 + .rss-subscribe:hover3656 + a.tooltip-link3657 text-decoration none3658 < blockquote3659 margin 0 -5px3660 padding 0 20px3661 < dd3662 padding-left 1em3663 margin-bottom 1em3664 < dd+dd3665 margin-bottom 03666 < a img3667 border 03668 . button3669 + .button-secondary3670 background-color #297fc73671 color #fff3672 font-size 16px3673 padding 15px3674 border-radius 5px3675 . button:hover3676 background-color #3088d03677 . button-secondary3678 background-color #7387973679 font-size 15px3680 padding 12px3681 -webkit-backface-visibility hidden3682 . button-secondary:hover3683 text-decoration none3684 background-color #7e909e3685 . rss-subscribe3686 display block3687 padding 15px 14px 16px 47px3688 background url(/assets/images/feed-icon.png) 10px center no-repeat3689 color #4443690 font-size 13px3691 . content3692 + pre3693 color #3939393694 . rss-subscribe:hover3695 background-color #f4f4f73696 . content3697 z-index 23698 font-size 14px3699 line-height 1.5em3700 . blog .content3701 margin-bottom 60px3702 . content dt3703 color #6663704 . content ol3705 margin-left 1.5em3706 . content ul3707 margin 1.5em3708 list-style-type disc3709 . content dd ul3710 margin-top 03711 . content li3712 margin .5em 03713 . content img3714 max-width 100%3715 margin 12px 03716 < ol3717 counter-reset li3718 list-style none3719 padding-bottom 10px3720 < ol>li3721 padding 5px 0 5px 55px3722 margin-bottom 5px3723 < ol>li:before3724 content counter(li)3725 counter-increment li3726 position absolute3727 top 03728 left 03729 height 100%3730 width 30px3731 padding 0 10px 0 03732 color #9993733 font-size 22px3734 line-height 35px3735 text-align right3736 border-right 1px solid #ddd3737 < ol>li>p:first-child3738 margin-top 03739 < ol>li:after3740 content "."3741 display block3742 visibility hidden3743 line-height 03744 height 03745 . content ol>li img3746 max-width 100px3747 margin 0 0 0 10px3748 float right3749 border 1px solid #ddd3750 cursor pointer3751 . content ol>li img.expanded3752 max-width 400px3753 . content .full-image3754 position absolute3755 top 5px3756 right -20px3757 z-index 1003758 . content .full-image img3759 position absolute3760 top 03761 right 20px3762 margin 03763 max-width 600px3764 box-shadow 0 0 3px rgba(0,0,0,.2)3765 . content .full-image:hover .octicon3766 + .full-image:hover .mini-icon3767 color #6663768 . content .full-image .octicon3769 + .full-image .octicon-x3770 position absolute3771 top 03772 right 03773 color #9993774 cursor pointer3775 . content .description3776 margin-left 20px3777 . content .sectionbody .dlist dt3778 + .content .verseblock-content3779 + .content dl code3780 + .content p>tt3781 + .content ul code3782 + p code3783 border-radius 3px3784 border 1px solid #ccc3785 background-color #f9f9f93786 display inline-block3787 . content ul pre code3788 border none3789 . content .sectionbody .dlist dt3790 margin-top 10px3791 . content .verseblock-content3792 padding 3px3793 . content .intro3794 color #8686863795 . article-content ul3796 margin 1.5em3797 . change3798 padding-bottom 40px3799 . change .meta3800 font-size 13px3801 margin 3px 0 20px3802 . change .meta ul3803 margin 03804 padding 03805 . change .meta ul img3806 margin -1px 0 03807 border-radius 2px3808 . who_when a3809 padding-left 2px3810 color #9993811 . change .who_when .author3812 color #eee3813 . change .who_when .published3814 color #ccc3815 . meta li3816 color #9993817 padding-right 20px3818 list-style none3819 display inline3820 . published span3821 color #9993822 padding-bottom 4px3823 . tooltip-text3824 display none3825 position absolute3826 bottom 03827 border 1px solid #3333828 background-color #1616163829 border-radius 5px3830 padding 10px3831 color #fff3832 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif3833 font-size 12px3834 < #markdown-toc3835 margin 1em 1.5em 2em3836 < #markdown-toc li3837 font-size 14px3838 list-style-type lower-roman3839 margin .25em 03840 < #markdown-toc li a3841 color #3333842 text-decoration underline3843 < #markdown-toc li a:hover3844 color #327fc73845 . content table3846 width 100%3847 overflow auto3848 display block3849 margin 15px 03850 . content thead3851 margin 03852 padding 03853 border 03854 font inherit3855 vertical-align baseline3856 . field-name3857 + code3858 + pre3859 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace3860 . content table th3861 + .deprecation-notice .deprecation-title3862 + .field-name3863 + .pagination a3864 + .pagination em3865 + .pagination>span3866 + code .cp3867 + code .cs3868 + code .k3869 + code .kc3870 + code .kd3871 + code .kp3872 + code .kr3873 + code .kt3874 + code .nc3875 + code .ne3876 + code .nf3877 + code .o3878 + code .ow3879 font-weight 7003880 . content table th3881 border 1px solid #ddd3882 padding 6px 13px3883 text-align center3884 . content tbody3885 vertical-align middle3886 border-color inherit3887 . content table tr3888 border-top 1px solid #ccc3889 background-color #fff3890 vertical-align inherit3891 . content table td3892 border 1px solid #ddd3893 padding 6px 13px3894 . content p.explorer-link3895 margin-bottom 5px3896 font-size 13px3897 < code3898 + pre3899 font-size 12px3900 < code3901 padding 03902 background 0 03903 < pre code .bluebox3904 + pre code .greenbox3905 + pre code .redbox3906 padding 2px3907 margin-right 2px3908 < pre code3909 white-space pre3910 < pre code:after3911 + pre code:before3912 content ""3913 < pre code .redbox3914 border 2px solid #d9534f3915 border-radius 2px3916 < pre code .greenbox3917 border 2px solid #5cb85c3918 border-radius 2px3919 < pre code .bluebox3920 border 2px solid #428bca3921 border-radius 2px3922 < pre3923 border 1px solid #cacaca3924 line-height 1.4em3925 padding 10px3926 overflow auto3927 border-radius 3px3928 background-color #fafafb3929 margin 2em 03930 < ul+pre3931 margin-top 1em3932 < pre span.comment3933 color #aaa3934 . highlight-headers3935 margin-bottom 03936 border-radius 3px3937 border-bottom 1px solid #CACACA3938 background-color #f4f4f43939 . highlight-headers+pre3940 border-radius 0 0 3px 3px3941 margin-top 03942 border-top-color #ddd3943 . highlight-headers+pre.highlight3944 margin-top -2px3945 . highlight-headers+:not(pre)3946 margin-top 24px3947 . command-line3948 background-color #4443949 color #fff3950 border-radius 3px3951 border none3952 position relative3953 . command-line em3954 color #f9fe643955 . command-line span.comment3956 color #ccc3957 . command-line span.output3958 color #63E4633959 . highlight-graphql .k3960 color #a71d5d3961 . highlight-graphql .n3962 color #ed6a433963 . highlight-graphql .err3964 background-color transparent3965 < #staging-header3966 line-height 34px3967 color rgba(255,255,255,.5)3968 background-color #2223969 < #staging-header p3970 color #fff3971 font-size 12px3972 padding-left 20px3973 margin 03974 . integrations-2-marker3975 padding-left 10px3976 . deprecation-notice3977 border-left 2px solid #e8400d3978 background #fdf2ec3979 . deprecation-notice p3980 margin-bottom 03981 . github-apps-marker3982 padding-bottom 5px3983 padding-left 5px3984 media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:192dpi)3985 < #searchfield3986 background-image url(/assets/images/search@2x.png)3987 background-size 13px 13px3988 . cancel-search3989 background-image url(/assets/images/cancel@2x.png)3990 background-size 14px 14px3991 . sidebar-module .arrow-btn3992 background-image url(/assets/images/expand-arrows@2x.png)3993 background-size 73px 80px3994 . api-status .good3995 + .api-status .major3996 + .api-status .minor3997 + .api-status .unknown3998 background-size 32px 32px3999 . api-status .unknown4000 background-image url(/assets/images/status-icon-unknown@2x.png)4001 . api-status .good4002 background-image url(/assets/images/status-icon-good@2x.png)4003 . api-status .minor4004 background-image url(/assets/images/status-icon-minor@2x.png)4005 . api-status .major4006 background-image url(/assets/images/status-icon-major@2x.png)4007 . rss-subscribe4008 background-image url(/assets/images/feed-icon@2x.png)4009 background-size 28px 28px4010 . pagination a4011 + .pagination em4012 + .pagination>span4013 position relative4014 margin-left -1px4015 font-size 13px4016 font-style normal4017 padding 7px 12px4018 color #4078c04019 white-space nowrap4020 vertical-align middle4021 cursor pointer4022 background #fff4023 border 1px solid #e5e5e54024 -webkit-user-select none4025 -moz-user-select none4026 -ms-user-select none4027 user-select none4028 < code .c4029 + code .c14030 + code .cm4031 + code .cs4032 + code .ge4033 font-style italic4034 . pagination a:first-child4035 + .pagination em:first-child4036 + .pagination>span:first-child4037 margin-left 04038 border-top-left-radius 3px4039 border-bottom-left-radius 3px4040 . pagination a:last-child4041 + .pagination em:last-child4042 + .pagination>span:last-child4043 border-top-right-radius 3px4044 border-bottom-right-radius 3px4045 . pagination a:focus4046 + .pagination a:hover4047 + .pagination em:focus4048 + .pagination em:hover4049 + .pagination>span:focus4050 + .pagination>span:hover4051 z-index 24052 background-color #e7e7e74053 border-color #e5e5e54054 text-decoration none4055 . pagination .selected4056 z-index 34057 . pagination .current4058 + .pagination .current:hover4059 z-index 34060 color #fff4061 background-color #4078c04062 border-color #4078c04063 . pagination .disabled4064 + .pagination .disabled:hover4065 + .pagination .gap4066 + .pagination .gap:hover4067 background-color #fafafa4068 cursor default4069 color #d3d3d34070 . pagination .octicon4071 width 8px4072 text-align center4073 . ajax_paginate4074 display block4075 . ajax_paginate a4076 float none4077 display block4078 padding 6px4079 text-align center4080 . ajax_paginate.loading a4081 text-indent -3000px4082 background-color #eaeaea4083 background-image url(/images/spinners/octocat-spinner-16px-EAF2F5.gif)4084 background-repeat no-repeat4085 background-position center center4086 border-color #c5c5c54087 media screen and (-webkit-min-device-pixel-ratio:2),screen and (max--moz-device-pixel-ratio:2)4088 . ajax_paginate.loading a4089 background-image url(/images/spinners/octocat-spinner-32-EAF2F5.gif)4090 background-size 16px auto4091 . paginate-wrap4092 margin-bottom 15px4093 text-align center4094 . paginate-wrap .pagination4095 display inline-block4096 < code .c4097 color #9984098 < code .err4099 color #a617174100 background-color #e3d2d24101 < code .cm4102 color #9984103 < code .cp4104 color #9994105 < code .c14106 color #9984107 < code .cs4108 color #9994109 < code .gd4110 color #0004111 background-color #fdd4112 < code .gd .x4113 color #0004114 background-color #faa4115 < code .gr4116 color #a004117 < code .gh4118 color #9994119 < code .gi4120 color #0004121 background-color #dfd4122 < code .gi .x4123 color #0004124 background-color #afa4125 < code .go4126 color #8884127 < code .gp4128 color #5554129 < code .gs4130 font-weight 7004131 < code .gu4132 color #aaa4133 < code .gt4134 color #a004135 < code .kt4136 color #4584137 < code .m4138 color #0994139 < code .s4140 color #d144141 < code .na4142 color teal4143 < code .nb4144 color #0086B34145 < code .nc4146 color #4584147 < code .no4148 color teal4149 < code .ni4150 color purple4151 < code .ne4152 + code .nf4153 color #9004154 < code .nn4155 color #5554156 < code .nt4157 color navy4158 < code .nv4159 color teal4160 < code .w4161 color #bbb4162 < code .mf4163 + code .mh4164 + code .mi4165 + code .mo4166 color #0994167 < code .s24168 + code .sb4169 + code .sc4170 + code .sd4171 + code .se4172 + code .sh4173 + code .si4174 + code .sx4175 color #d144176 < code .sr4177 color #0099264178 < code .s14179 color #d144180 < code .ss4181 color #9900734182 < code .bp4183 color #9994184 < code .vc4185 + code .vg4186 + code .vi4187 color teal4188 < code .il4189 color #0994190 . field-entry code4191 + .field-name code4192 font-size 1em4193 . field-entry code:after4194 + .field-entry code:before4195 + .field-name code:after4196 + .field-name code:before4197 display none4198 . graphql-container4199 margin-top 30px4200 . graphql-wrapper4201 height 660px4202 < iframe#graphiql4203 width 100%4204 height inherit4205 border 1px solid #ddd4206 . btn4207 + .btn:hover4208 background-image none4209 . bg-blue4210 background-color #0079d1!important4211 . btn:not(.btn-outline)4212 box-shadow 0 0 4px rgba(0,0,0,.1)4213 . overview .lead4214 + .overview .text-alpha4215 + .overview .text-beta4216 + .overview .text-delta4217 + .overview .text-gamma4218 + .overview h14219 + .overview h24220 + .overview h34221 + .overview h44222 + .overview h54223 font-family Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Oxygen,Ubuntu,Cantarell,"Open Sans",sans-serif!important4224 . link-mono4225 + .text-mono4226 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace4227 . link-mono4228 box-shadow 0 1px 0 0 rgba(0,121,209,.3)4229 . link-mono:hover4230 text-decoration none4231 box-shadow 0 1px 0 0 #0058a24232 < blockquote.blockquote-alt::before4233 background url(../images/chevron-right.svg) 0 0/60px 60px no-repeat4234 < a.card.bg-gray-light4235 color #7676764236 < a.card.bg-gray-light:hover4237 background-color #f0f0f0!important4238 < #mc_embed_signup div.mce_inline_error4239 background-color #e8400d!important4240 font-weight 400!important4241 font-size 14px4242 border-bottom-right-radius 3px4243 border-bottom-left-radius 3px4244 < input.mce_inline_error4245 border-bottom-right-radius 04246 border-bottom-left-radius 04247 border-color #e8400d!important4248 . bg-custom-gradient4249 background-image linear-gradient(180deg,#f5f5f5,rgba(245,245,245,0))4250 background-repeat no-repeat4251 background-size 100% 200px4252 . text-yellow4253 color #f5a300
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/algolia.css.ittf
1 $group 2 . algolia-autocomplete 3 display -webkit-box !important 4 display -ms-flexbox !important 5 display flex !important 6 position relative 7 . algolia-autocomplete .ds-dropdown-menu 8 box-shadow none 9 . algolia-autocomplete .ds-dropdown-menu:before 10 content none 11 . algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] 12 border-radius 0 13 border-color #8DD6F9 14 border-width 2px 0 15 box-shadow 0 0 4px rgba(0, 0, 0, 0.25) 16 padding 0 17 . algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content 18 background rgba(141, 214, 249, 0.1) !important 19 . algolia-autocomplete .algolia-docsearch-suggestion 20 padding 0 21 . algolia-autocomplete .algolia-docsearch-suggestion--wrapper 22 display -webkit-box 23 display -ms-flexbox 24 display flex 25 padding 0 26 . algolia-autocomplete .algolia-docsearch-suggestion--text 27 color #999999 28 . algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight 29 color #2086d7 30 box-shadow none 31 font-weight bold 32 . algolia-autocomplete .algolia-docsearch-suggestion--highlight 33 color #2086d7 34 background rgba(141, 214, 249, 0.15) 35 . algolia-autocomplete .algolia-docsearch-suggestion--category-header 36 text-transform uppercase 37 font-weight bold 38 font-size 0.9em 39 border-color #dedede 40 color #333333 41 margin 0 42 padding 6px 16px 43 . algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column 44 padding 8px 16px 8px 12px 45 background rgba(153, 153, 153, 0.08) 46 display block 47 color transparent 48 . algolia-autocomplete .algolia-docsearch-suggestion__secondary .algolia-docsearch-suggestion--subcategory-column 49 color #666666 50 . algolia-autocomplete .algolia-docsearch-suggestion--content 51 padding 8px 16px 8px 12px 52 . algolia-autocomplete .ds-suggestion:nth-child(n+2) .algolia-docsearch-suggestion--category-header 53 border-top 1px solid #dedede 54 . algolia-autocomplete .algolia-docsearch-suggestion--title 55 color #333333 56 . algolia-autocomplete .ds-suggestion:last-child .algolia-docsearch-suggestion--subcategory-column 57 + .algolia-autocomplete .ds-suggestion:last-child .algolia-docsearch-suggestion--content 58 padding-bottom 26px 59 . algolia-autocomplete .algolia-docsearch-footer 60 position absolute 61 bottom 4px 62 right 16px 63 . algolia-autocomplete .aa-suggestion-title-separator 64 color #999999
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/article_webpack_code.css.ittf
1 $group 2 $$ 3 $$ CODE 4 $$ 5 . main-content code 6 + .main-content tt 7 + .splash__section code 8 + .splash__section tt 9 font-family "Source Code Pro", Consolas, "Liberation Mono", Menlo, Courier, monospace 10 font-size 90% 11 margin 0 2px 12 padding 2px 6px 13 white-space nowrap 14 background-color rgba(70, 94, 105, 0.06) 15 border-radius 3px 16 text-shadow 0 1px 0 rgba(255, 255, 255, 0.6) 17 . main-content a code 18 + .splash__section a code 19 color #2086d7 20 . main-content pre 21 + .splash__section pre 22 background-color rgba(238, 238, 238, 0.35) 23 background-color #2B3A42 24 $$ font-size 13px 25 font-size 14px 26 line-height 19px 27 overflow auto 28 padding 8px 16px 29 border-radius 3px 30 . main-content pre code 31 + .splash__section pre code 32 margin 0 33 padding 0 34 white-space pre 35 border none 36 background transparent 37 text-shadow 0 1px 0 rgba(23, 31, 35, 0.5) 38 color #a5cee1 39 . main-content pre code .code-details-summary-span 40 + .splash__section pre code .code-details-summary-span 41 margin-left -15px 42 cursor pointer 43 . main-content pre code a 44 + .splash__section pre code a 45 border-bottom 1px dotted #1D78C1 46 . main-content pre code .code-link 47 + .splash__section pre code .code-link 48 position relative 49 . main-content pre code .code-link:hover 50 + .splash__section pre code .code-link:hover 51 color #479ee3 52 . main-content pre code 53 + .main-content pre tt 54 + .splash__section pre code 55 + .splash__section pre tt 56 background-color transparent 57 border none 58 . main-content p code 59 + .main-content p tt 60 + .splash__section p code 61 + .splash__section p tt 62 max-width 100% 63 line-height initial 64 overflow auto 65 margin 0 66 vertical-align middle 67 . main-content span code 68 + .main-content span tt 69 + .splash__section span code 70 + .splash__section span tt 71 white-space pre-line
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/article_webpack.css.ittf
1 $group 2 $$ changed page__content to main-content 3 . main-content 4 + .splash__section 5 line-height 1.5em 6 . main-content h1 7 + .splash__section h1 8 font-size 33px 9 . main-content h2 10 + .splash__section h2 11 font-size 28px 12 . main-content h3 13 + .splash__section h3 14 font-size 23px 15 . main-content h4 16 + .splash__section h4 17 font-size 19px 18 . main-content h5 19 + .splash__section h5 20 font-size 16px 21 . main-content h6 22 + .splash__section h6 23 font-size 13px 24 . main-content h1 25 + .main-content h2 26 + .main-content h3 27 + .main-content h4 28 + .main-content h5 29 + .main-content h6 30 + .splash__section h1 31 + .splash__section h2 32 + .splash__section h3 33 + .splash__section h4 34 + .splash__section h5 35 + .splash__section h6 36 font-family Geomanist, sans-serif 37 font-weight 600 38 line-height 1.4 39 margin 1.5em 0 0.25em 40 color #465E69 41 . main-content h1:first-child 42 + .main-content h2:first-child 43 + .main-content h3:first-child 44 + .main-content h4:first-child 45 + .main-content h5:first-child 46 + .main-content h6:first-child 47 + .splash__section h1:first-child 48 + .splash__section h2:first-child 49 + .splash__section h3:first-child 50 + .splash__section h4:first-child 51 + .splash__section h5:first-child 52 + .splash__section h6:first-child 53 margin-top 0 54 line-height 1 55 . main-content h1 tt 56 + .main-content h1 code 57 + .main-content h2 tt 58 + .main-content h2 code 59 + .main-content h3 tt 60 + .main-content h3 code 61 + .main-content h4 tt 62 + .main-content h4 code 63 + .main-content h5 tt 64 + .main-content h5 code 65 + .main-content h6 tt 66 + .main-content h6 code 67 + .splash__section h1 tt 68 + .splash__section h1 code 69 + .splash__section h2 tt 70 + .splash__section h2 code 71 + .splash__section h3 tt 72 + .splash__section h3 code 73 + .splash__section h4 tt 74 + .splash__section h4 code 75 + .splash__section h5 tt 76 + .splash__section h5 code 77 + .splash__section h6 tt 78 + .splash__section h6 code 79 font-size 90% 80 color inherit 81 . main-content p 82 + .main-content blockquote 83 + .main-content table 84 + .main-content pre 85 + .splash__section p 86 + .splash__section blockquote 87 + .splash__section table 88 + .splash__section pre 89 margin 1em 0 90 . main-content ul 91 + .main-content ol 92 + .main-content dl 93 + .splash__section ul 94 + .splash__section ol 95 + .splash__section dl 96 margin 0.5em 0 1em 97 . main-content li 98 + .splash__section li 99 margin 0.5em 0 100 . main-content hr 101 + .splash__section hr 102 border none 103 background-color #dedede 104 height 3px 105 margin 2em 0 106 . main-content ul 107 + .main-content ol 108 + .splash__section ul 109 + .splash__section ol 110 padding-left 30px 111 . main-content ul:first-child 112 + .main-content ol:first-child 113 + .splash__section ul:first-child 114 + .splash__section ol:first-child 115 margin-top 0 116 . main-content ul:last-child 117 + .main-content ol:last-child 118 + .splash__section ul:last-child 119 + .splash__section ol:last-child 120 margin-bottom 0 121 $$ 122 $$ DL DT 123 $$ 124 . main-content dl dt 125 + .splash__section dl dt 126 font-size 16px 127 font-weight bold 128 font-style italic 129 margin 15px 0 5px 130 . main-content dl dt:first-child 131 + .splash__section dl dt:first-child 132 padding 0 133 . main-content dl dd 134 + .splash__section dl dd 135 margin 0 0 15px 136 padding 0 15px 137 . main-content dl dt > :first-child 138 + .main-content dl dd > :first-child 139 + .splash__section dl dt > :first-child 140 + .splash__section dl dd > :first-child 141 margin-top 0 142 . main-content dl dt > :last-child 143 + .main-content dl dd > :last-child 144 + .splash__section dl dt > :last-child 145 + .splash__section dl dd > :last-child 146 margin-bottom 0 147 $$ 148 $$ BLOCKQUOTE 149 $$ 150 . main-content blockquote 151 + .splash__section blockquote 152 border-left 4px solid #dddddd 153 padding 0.75em 1em 154 color #666666 155 . main-content blockquote > :first-child 156 + .splash__section blockquote > :first-child 157 margin-top 0 158 . main-content blockquote > :last-child 159 + .splash__section blockquote > :last-child 160 margin-bottom 0 161 . main-content blockquote.tip 162 + .main-content blockquote.warning 163 + .main-content blockquote.todo 164 + .splash__section blockquote.tip 165 + .splash__section blockquote.warning 166 + .splash__section blockquote.todo 167 border-left none 168 border-radius 3px 169 . main-content blockquote.tip .tip-content 170 + .main-content blockquote.warning .tip-content 171 + .main-content blockquote.todo .tip-content 172 + .splash__section blockquote.tip .tip-content 173 + .splash__section blockquote.warning .tip-content 174 + .splash__section blockquote.todo .tip-content 175 font-style italic 176 . main-content blockquote.tip code 177 + .main-content blockquote.warning code 178 + .main-content blockquote.todo code 179 + .splash__section blockquote.tip code 180 + .splash__section blockquote.warning code 181 + .splash__section blockquote.todo code 182 color inherit 183 . main-content blockquote.tip 184 + .splash__section blockquote.tip 185 background-color #DCF2FD 186 color #618ca0 187 . main-content blockquote.warning 188 + .splash__section blockquote.warning 189 background-color #fbedb7 190 color #8c8466 191 . main-content blockquote.todo 192 + .splash__section blockquote.todo 193 background-color #fbddcd 194 color #907a6e 195 . main-content blockquote.todo .tip-content::before 196 + .splash__section blockquote.todo .tip-content::before 197 content '[TODO]: ' 198 font-style normal 199 $$ 200 $$ TABLE 201 $$ 202 media (min-width: 768px) 203 . main-content .table 204 + .splash__section .table 205 overflow-x auto 206 overflow-y hidden 207 . main-content .table-wrap 208 + .splash__section .table-wrap 209 display block 210 width 100% 211 media (min-width: 768px) 212 . main-content .table-wrap 213 + .splash__section .table-wrap 214 display table 215 border-left 1px solid #cccccc 216 border-bottom 1px solid #cccccc 217 . main-content .table-tr 218 + .splash__section .table-tr 219 background-color white 220 margin 0 221 padding 0.25em 0 222 display block 223 border 1px solid #cccccc 224 border-bottom none 225 media (min-width: 768px) 226 . main-content .table-tr 227 + .splash__section .table-tr 228 border none 229 padding 0 230 display table-row 231 . main-content .table-tr:nth-child(2n) 232 + .splash__section .table-tr:nth-child(2n) 233 background-color #f8f8f8 234 . main-content .table-tr:last-child 235 + .splash__section .table-tr:last-child 236 border-bottom 1px solid #cccccc 237 . main-content .table-th 238 + .splash__section .table-th 239 font-weight bold 240 border-bottom none 241 text-align left 242 margin 0 243 padding 6px 12px 244 background #f1f4f4 245 . main-content .table-td 246 + .splash__section .table-td 247 text-align left 248 margin 0 249 padding 4px 12px 250 . main-content .table-td img 251 + .splash__section .table-td img 252 max-width none 253 . main-content .table-td-title 254 + .splash__section .table-td-title 255 display block 256 width 40% 257 media (min-width: 768px) 258 . main-content .table-td-title 259 + .splash__section .table-td-title 260 display none 261 width auto 262 . main-content .table-td-content 263 + .splash__section .table-td-content 264 display block 265 width 60% 266 . main-content .table-td-content code 267 + .splash__section .table-td-content code 268 white-space normal 269 word-break break-word 270 media (min-width: 768px) 271 . main-content .table-td-content 272 + .splash__section .table-td-content 273 width auto 274 . main-content .table-td-content code 275 + .splash__section .table-td-content code 276 word-break normal 277 white-space nowrap 278 . main-content .table-th 279 + .main-content .table-td 280 + .splash__section .table-th 281 + .splash__section .table-td 282 display -webkit-box 283 display -ms-flexbox 284 display flex 285 -ms-flex-preferred-size 100% 286 flex-basis 100% 287 -ms-flex-item-align stretch 288 align-self stretch 289 media (min-width: 768px) 290 . main-content .table-th 291 + .main-content .table-td 292 + .splash__section .table-th 293 + .splash__section .table-td 294 border-top 1px solid #cccccc 295 border-right 1px solid #cccccc 296 display table-cell 297 . main-content .table-header 298 + .splash__section .table-header 299 display none 300 . main-content .table-header .table-tr 301 + .splash__section .table-header .table-tr 302 border-bottom none 303 media (min-width: 768px) 304 . main-content .table-header 305 + .splash__section .table-header 306 display table-header-group 307 media (min-width: 768px) 308 . main-content .table-body 309 + .splash__section .table-body 310 display table-row-group 311 . main-content img 312 + .splash__section img 313 max-width 100% 314 . main-content b 315 + .main-content strong 316 + .splash__section b 317 + .splash__section strong 318 font-weight 600 319 . main-content i 320 + .main-content em 321 + .splash__section i 322 + .splash__section em 323 font-style italic
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/code.css.ittf
1 $group 2 < code[class*="lang-"] 3 + pre[class*="lang-"] 4 text-align left 5 white-space pre 6 word-spacing normal 7 word-break normal 8 word-wrap normal 9 line-height 1.5 10 -moz-tab-size 4 11 -o-tab-size 4 12 tab-size 4 13 -webkit-hyphens none 14 -ms-hyphens none 15 hyphens none 16 color #a5cee1 17 -webkit-font-smoothing subpixel-antialiased 18 -moz-osx-font-smoothing auto 19 < code[class*="lang-"] a 20 + pre[class*="lang-"] a 21 color inherit 22 < pre[class*="lang-"] 23 padding .4em .8em 24 margin .5em 0 25 overflow auto 26 background-color #2B3A42 27 < :not(pre) > code[class*="lang-"] 28 padding .2em 29 border-radius .3em 30 box-shadow none 31 white-space normal 32 . token.comment 33 + .token.prolog 34 + .token.doctype 35 + .token.cdata 36 color #77858c 37 . token.punctuation 38 color #e1e6e9 39 . namespace 40 opacity .7 41 . token.property 42 + .token.tag 43 + .token.boolean 44 + .token.number 45 + .token.constant 46 + .token.symbol 47 color #53b7e6 48 . token.selector 49 + .token.string 50 + .token.char 51 + .token.builtin 52 + .token.regex 53 + .token.attr-value 54 + .token.important 55 color #4db277 56 . token.inserted 57 color #9df29d 58 . token.deleted 59 color #f79494 60 . token.operator 61 + .token.entity 62 + .token.url 63 + .language-css .token.string 64 + .toke.variable 65 color #a9becc 66 . token.atrule 67 + .token.attr-name 68 + .token.keyword 69 + .token.function 70 color #62b1d8 71 . token.important 72 + .token.bold 73 font-weight bold 74 . token.italic 75 font-style italic 76 . token.entity 77 cursor help
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/container.css.ittf
1 $group 2 . container 3 width 100% 4 max-width 1024px 5 margin 0 auto
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/grid.css.ittf
1 $group 2 < [class*=container] 3 width 100% 4 padding-left 20px 5 padding-right 20px 6 . container 7 max-width 1020px 8 . container-narrow 9 max-width 760px 10 . container-wide 11 max-width 1260px 12 . gut-1 13 margin-right -4px 14 margin-left -4px 15 . gut-1>[class*=col-] 16 padding-right 4px!important 17 padding-left 4px!important 18 . gut-2 19 margin-right -8px 20 margin-left -8px 21 . gut-2>[class*=col-] 22 padding-right 8px!important 23 padding-left 8px!important 24 . gut-3 25 margin-right -16px 26 margin-left -16px 27 . gut-3>[class*=col-] 28 padding-right 16px!important 29 padding-left 16px!important 30 . col-right 31 float right!important 32 . col-1 33 + .col-10 34 + .col-11 35 + .col-12 36 + .col-2 37 + .col-3 38 + .col-4 39 + .col-5 40 + .col-6 41 + .col-8 42 + .col-9 43 + .pagination a 44 + .pagination em 45 + .pagination>span 46 float left 47 . col-1 48 width calc(1/12 * 100%) 49 . col-2 50 width calc(2/12 * 100%) 51 . col-3 52 width calc(3/12 * 100%) 53 . col-4 54 width calc(4/12 * 100%) 55 . col-5 56 width calc(5/12 * 100%) 57 . col-6 58 width calc(6/12 * 100%) 59 . col-7 60 width calc(7/12 * 100%) 61 float left 62 . col-8 63 width calc(8/12 * 100%) 64 . col-9 65 width calc(9/12 * 100%) 66 . col-10 67 width calc(10/12 * 100%) 68 . col-11 69 width calc(11/12 * 100%) 70 media (min-width:544px) 71 . col-sm-1 72 width calc(1/12 * 100%) 73 float left 74 . col-sm-2 75 width calc(2/12 * 100%) 76 float left 77 . col-sm-3 78 width calc(3/12 * 100%) 79 float left 80 . col-sm-4 81 width calc(4/12 * 100%) 82 float left 83 . col-sm-5 84 width calc(5/12 * 100%) 85 float left 86 . col-sm-6 87 width calc(6/12 * 100%) 88 float left 89 . col-sm-7 90 width calc(7/12 * 100%) 91 float left 92 . col-sm-8 93 width calc(8/12 * 100%) 94 float left 95 . col-sm-9 96 width calc(9/12 * 100%) 97 float left 98 . col-sm-10 99 width calc(10/12 * 100%) 100 float left 101 . col-sm-11 102 width calc(11/12 * 100%) 103 float left 104 . col-sm-12 105 width 100% 106 float left 107 media (min-width:768px) 108 . page-section-jumplink:target 109 padding-top 80px 110 . col-md-1 111 width calc(1/12 * 100%) 112 float left 113 . col-md-2 114 width calc(2/12 * 100%) 115 float left 116 . col-md-3 117 width calc(3/12 * 100%) 118 float left 119 . col-md-4 120 width calc(4/12 * 100%) 121 float left 122 . col-md-5 123 width calc(5/12 * 100%) 124 float left 125 . col-md-6 126 width calc(6/12 * 100%) 127 float left 128 . col-md-7 129 width calc(7/12 * 100%) 130 float left 131 . col-md-8 132 width calc(8/12 * 100%) 133 float left 134 . col-md-9 135 width calc(9/12 * 100%) 136 float left 137 . col-md-10 138 width calc(10/12 * 100%) 139 float left 140 . col-md-11 141 width calc(11/12 * 100%) 142 float left 143 . col-md-12 144 width 100% 145 float left 146 . offset-1 147 margin-left calc(1/12 * 100%) 148 . offset-2 149 margin-left calc(2/12 * 100%) 150 . offset-3 151 margin-left calc(3/12 * 100%) 152 . offset-4 153 margin-left calc(4/12 * 100%) 154 . offset-5 155 margin-left calc(5/12 * 100%) 156 . offset-6 157 margin-left calc(6/12 * 100%) 158 . offset-7 159 margin-left calc(7/12 * 100%) 160 . offset-8 161 margin-left calc(8/12 * 100%) 162 . offset-9 163 margin-left calc(9/12 * 100%) 164 . offset-10 165 margin-left calc(10/12 * 100%) 166 . offset-11 167 margin-left calc(11/12 * 100%) 168 media (min-width:544px) 169 . offset-sm-1 170 margin-left calc(1/12 * 100%) 171 . offset-sm-2 172 margin-left calc(2/12 * 100%) 173 . offset-sm-3 174 margin-left calc(3/12 * 100%) 175 . offset-sm-4 176 margin-left calc(4/12 * 100%) 177 . offset-sm-5 178 margin-left calc(5/12 * 100%) 179 . offset-sm-6 180 margin-left calc(6/12 * 100%) 181 . offset-sm-7 182 margin-left calc(7/12 * 100%) 183 . offset-sm-8 184 margin-left calc(8/12 * 100%) 185 . offset-sm-9 186 margin-left calc(9/12 * 100%) 187 . offset-sm-10 188 margin-left calc(10/12 * 100%) 189 . offset-sm-11 190 margin-left calc(11/12 * 100%) 191 media (min-width:768px) 192 . offset-md-1 193 margin-left calc(1/12 * 100%) 194 . offset-md-2 195 margin-left calc(2/12 * 100%) 196 . offset-md-3 197 margin-left calc(3/12 * 100%) 198 . offset-md-4 199 margin-left calc(4/12 * 100%) 200 . offset-md-5 201 margin-left calc(5/12 * 100%) 202 . offset-md-6 203 margin-left calc(6/12 * 100%) 204 . offset-md-7 205 margin-left calc(7/12 * 100%) 206 . offset-md-8 207 margin-left calc(8/12 * 100%) 208 . offset-md-9 209 margin-left calc(9/12 * 100%) 210 . offset-md-10 211 margin-left calc(10/12 * 100%) 212 . offset-md-11 213 margin-left calc(11/12 * 100%) 214 media (min-width:1012px) 215 . col-lg-1 216 width calc(1/12 * 100%) 217 float left 218 . col-lg-2 219 width calc(2/12 * 100%) 220 float left 221 . col-lg-3 222 width calc(3/12 * 100%) 223 float left 224 . col-lg-4 225 width calc(4/12 * 100%) 226 float left 227 . col-lg-5 228 width calc(5/12 * 100%) 229 float left 230 . col-lg-6 231 width calc(6/12 * 100%) 232 float left 233 . col-lg-7 234 width calc(7/12 * 100%) 235 float left 236 . col-lg-8 237 width calc(8/12 * 100%) 238 float left 239 . col-lg-9 240 width calc(9/12 * 100%) 241 float left 242 . col-lg-10 243 width calc(10/12 * 100%) 244 float left 245 . col-lg-11 246 width calc(11/12 * 100%) 247 float left 248 . col-lg-12 249 width 100% 250 float left 251 . offset-lg-1 252 margin-left calc(1/12 * 100%) 253 . offset-lg-2 254 margin-left calc(2/12 * 100%) 255 . offset-lg-3 256 margin-left calc(3/12 * 100%) 257 . offset-lg-4 258 margin-left calc(4/12 * 100%) 259 . offset-lg-5 260 margin-left calc(5/12 * 100%) 261 . offset-lg-6 262 margin-left calc(6/12 * 100%) 263 . offset-lg-7 264 margin-left calc(7/12 * 100%) 265 . offset-lg-8 266 margin-left calc(8/12 * 100%) 267 . offset-lg-9 268 margin-left calc(9/12 * 100%) 269 . offset-lg-10 270 margin-left calc(10/12 * 100%) 271 . offset-lg-11 272 margin-left calc(11/12 * 100%) 273 media (min-width:1280px) 274 . col-xl-1 275 width calc(1/12 * 100%) 276 float left 277 . col-xl-2 278 width calc(2/12 * 100%) 279 float left 280 . col-xl-3 281 width calc(3/12 * 100%) 282 float left 283 . col-xl-4 284 width calc(4/12 * 100%) 285 float left 286 . col-xl-5 287 width calc(5/12 * 100%) 288 float left 289 . col-xl-6 290 width calc(6/12 * 100%) 291 float left 292 . col-xl-7 293 width calc(7/12 * 100%) 294 float left 295 . col-xl-8 296 width calc(8/12 * 100%) 297 float left 298 . col-xl-9 299 width calc(9/12 * 100%) 300 float left 301 . col-xl-10 302 width calc(10/12 * 100%) 303 float left 304 . col-xl-11 305 width calc(11/12 * 100%) 306 float left 307 . col-xl-12 308 width 100% 309 float left 310 . offset-xl-1 311 margin-left calc(1/12 * 100%) 312 . offset-xl-2 313 margin-left calc(2/12 * 100%) 314 . offset-xl-3 315 margin-left calc(3/12 * 100%) 316 . offset-xl-4 317 margin-left calc(4/12 * 100%) 318 . offset-xl-5 319 margin-left calc(5/12 * 100%) 320 . offset-xl-6 321 margin-left calc(6/12 * 100%) 322 . offset-xl-7 323 margin-left calc(7/12 * 100%) 324 . offset-xl-8 325 margin-left calc(8/12 * 100%) 326 . offset-xl-9 327 margin-left calc(9/12 * 100%) 328 . offset-xl-10 329 margin-left calc(10/12 * 100%) 330 . offset-xl-11 331 margin-left calc(11/12 * 100%)
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/index.css.ittf
1 $group 2 . text-center 3 text-align center!important 4 . bg-gray-light 5 background #f5f5f5!important 6 . overflow-hidden 7 overflow hidden!important 8 . hero-img 9 margin 0 auto 0 50% 10 max-width 800px 11 -webkit-transform translateX(-50%) 12 transform translateX(-50%) 13 media (min-width:768px) 14 . hero-img 15 -webkit-transform translateX(0)!important 16 transform translateX(0)!important 17 min-width none 18 margin-left 0!important 19 max-width 90% 20 . bg-custom-gradient 21 background-image linear-gradient(180deg,#f5f5f5,rgba(245,245,245,0)) 22 background-repeat no-repeat 23 background-size 100% 200px 24 . text-alpha 25 + .text-beta 26 + h1 27 + h2 28 font-weight 300 29 line-height 1.2 30 . text-alpha 31 + h1 32 font-size 36px 33 media (min-width:768px) 34 . vertically-centered [class*=col-md] 35 display table-cell 36 float none 37 vertical-align middle 38 . text-alpha 39 + h1 40 font-size 48px 41 media (min-width:1012px) 42 . text-alpha 43 + h1 44 font-size 54px 45 . text-beta 46 + h2 47 font-size 28px 48 media (min-width:768px) 49 . text-beta 50 + h2 51 font-size 34px 52 media (min-width:1012px) 53 . text-beta 54 + h2 55 font-size 38px 56 . text-gamma 57 + h3 58 font-size 18px 59 font-weight 400 60 line-height 1.4 61 media (min-width:768px) 62 . text-gamma 63 + h3 64 font-size 20px 65 media (min-width:1012px) 66 . text-gamma 67 + h3 68 font-size 22px 69 . text-delta 70 + h4 71 font-size 16px 72 font-weight 500 73 line-height 1.4 74 . text-alpha 75 + .text-beta 76 + .text-delta 77 + .text-gamma 78 + h1 79 + h2 80 + h3 81 + h4 82 + h5 83 margin-top 0 84 margin-bottom .45em 85 color #3c4146 86 -webkit-font-smoothing antialiased 87 . lead 88 font-size 20px 89 font-weight 300 90 line-height 1.5 91 color #767676 92 -webkit-font-smoothing antialiased 93 media (min-width:768px) 94 . lead 95 font-size 24px 96 media (min-width:1012px) 97 . lead 98 font-size 26px 99 . link-mono 100 + .text-mono 101 font-family Consolas,"Liberation Mono",Menlo,Courier,monospace 102 . link-mono 103 box-shadow 0 1px 0 0 rgba(0,121,209,.3) 104 . link-mono:hover 105 text-decoration none 106 box-shadow 0 1px 0 0 #0058a2
/src/ittf/jobs/ittf__copy/site/site/t/css/_old/padding-margin.css.ittf
1 $group 2 . pr-0 3 + .px-0 4 padding-right 0!important 5 . pl-0 6 + .px-0 7 padding-left 0!important 8 . pt-0 9 + .py-0 10 padding-top 0!important 11 . pb-0 12 + .py-0 13 padding-bottom 0!important 14 . visually-hidden.focusable:active 15 + .visually-hidden.focusable:focus 16 position static 17 width auto 18 height auto 19 margin 0 20 overflow visible 21 clip auto 22 . mt-0 23 + .my-0 24 margin-top 0!important 25 . mb-0 26 + .my-0 27 margin-bottom 0!important 28 . mx-auto 29 margin-right auto!important 30 margin-left auto!important 31 . mr-0 32 + .mx-0 33 margin-right 0!important 34 . ml-0 35 + .mx-0 36 margin-left 0!important 37 . m-0 38 margin 0!important 39 . mr-1 40 + .mx-1 41 margin-right 4px!important 42 . ml-1 43 + .mx-1 44 margin-left 4px!important 45 . mt-1 46 + .my-1 47 margin-top 4px!important 48 . mb-1 49 + .my-1 50 margin-bottom 4px!important 51 . m-1 52 margin 4px!important 53 . mr-2 54 + .mx-2 55 margin-right 8px!important 56 . ml-2 57 + .mx-2 58 margin-left 8px!important 59 . mt-2 60 + .my-2 61 margin-top 8px!important 62 . mb-2 63 + .my-2 64 margin-bottom 8px!important 65 . m-2 66 margin 8px!important 67 . mr-3 68 + .mx-3 69 margin-right 16px!important 70 . ml-3 71 + .mx-3 72 margin-left 16px!important 73 . mt-3 74 + .my-3 75 margin-top 16px!important 76 . mb-3 77 + .my-3 78 margin-bottom 16px!important 79 . m-3 80 margin 16px!important 81 . mr-4 82 + .mx-4 83 margin-right 32px!important 84 . ml-4 85 + .mx-4 86 margin-left 32px!important 87 . mt-4 88 + .my-4 89 margin-top 32px!important 90 . mb-4 91 + .my-4 92 margin-bottom 32px!important 93 . m-4 94 margin 32px!important 95 . mr-5 96 + .mx-5 97 margin-right 48px!important 98 . ml-5 99 + .mx-5 100 margin-left 48px!important 101 . mt-5 102 + .my-5 103 margin-top 48px!important 104 . mb-5 105 + .my-5 106 margin-bottom 48px!important 107 . m-5 108 margin 48px!important 109 . mr-6 110 + .mx-6 111 margin-right 64px!important 112 . ml-6 113 + .mx-6 114 margin-left 64px!important 115 . mt-6 116 + .my-6 117 margin-top 64px!important 118 . mb-6 119 + .my-6 120 margin-bottom 64px!important 121 . m-6 122 margin 64px!important 123 . mr-7 124 + .mx-7 125 margin-right 80px!important 126 . ml-7 127 + .mx-7 128 margin-left 80px!important 129 . mt-7 130 + .my-7 131 margin-top 80px!important 132 . mb-7 133 + .my-7 134 margin-bottom 80px!important 135 . m-7 136 margin 80px!important 137 . mr-8 138 + .mx-8 139 margin-right 96px!important 140 . ml-8 141 + .mx-8 142 margin-left 96px!important 143 . mt-8 144 + .my-8 145 margin-top 96px!important 146 . mb-8 147 + .my-8 148 margin-bottom 96px!important 149 . m-8 150 margin 96px!important 151 . mr-9 152 + .mx-9 153 margin-right 112px!important 154 . ml-9 155 + .mx-9 156 margin-left 112px!important 157 . mt-9 158 + .my-9 159 margin-top 112px!important 160 . mb-9 161 + .my-9 162 margin-bottom 112px!important 163 . m-9 164 margin 112px!important 165 media (min-width:544px) 166 . float-sm-left 167 float left!important 168 . mr-sm-0 169 + .mx-sm-0 170 margin-right 0!important 171 . ml-sm-0 172 + .mx-sm-0 173 margin-left 0!important 174 . mt-sm-0 175 + .my-sm-0 176 margin-top 0!important 177 . mb-sm-0 178 + .my-sm-0 179 margin-bottom 0!important 180 . m-sm-0 181 margin 0!important 182 . mr-sm-1 183 + .mx-sm-1 184 margin-right 4px!important 185 . ml-sm-1 186 + .mx-sm-1 187 margin-left 4px!important 188 . mt-sm-1 189 + .my-sm-1 190 margin-top 4px!important 191 . mb-sm-1 192 + .my-sm-1 193 margin-bottom 4px!important 194 . m-sm-1 195 margin 4px!important 196 . mr-sm-2 197 + .mx-sm-2 198 margin-right 8px!important 199 . ml-sm-2 200 + .mx-sm-2 201 margin-left 8px!important 202 . mt-sm-2 203 + .my-sm-2 204 margin-top 8px!important 205 . mb-sm-2 206 + .my-sm-2 207 margin-bottom 8px!important 208 . m-sm-2 209 margin 8px!important 210 . mr-sm-3 211 + .mx-sm-3 212 margin-right 16px!important 213 . ml-sm-3 214 + .mx-sm-3 215 margin-left 16px!important 216 . mt-sm-3 217 + .my-sm-3 218 margin-top 16px!important 219 . mb-sm-3 220 + .my-sm-3 221 margin-bottom 16px!important 222 . m-sm-3 223 margin 16px!important 224 . mr-sm-4 225 + .mx-sm-4 226 margin-right 32px!important 227 . ml-sm-4 228 + .mx-sm-4 229 margin-left 32px!important 230 . mt-sm-4 231 + .my-sm-4 232 margin-top 32px!important 233 . mb-sm-4 234 + .my-sm-4 235 margin-bottom 32px!important 236 . m-sm-4 237 margin 32px!important 238 . mr-sm-5 239 + .mx-sm-5 240 margin-right 48px!important 241 . ml-sm-5 242 + .mx-sm-5 243 margin-left 48px!important 244 . mt-sm-5 245 + .my-sm-5 246 margin-top 48px!important 247 . mb-sm-5 248 + .my-sm-5 249 margin-bottom 48px!important 250 . m-sm-5 251 margin 48px!important 252 . mr-sm-6 253 + .mx-sm-6 254 margin-right 64px!important 255 . ml-sm-6 256 + .mx-sm-6 257 margin-left 64px!important 258 . mt-sm-6 259 + .my-sm-6 260 margin-top 64px!important 261 . mb-sm-6 262 + .my-sm-6 263 margin-bottom 64px!important 264 . m-sm-6 265 margin 64px!important 266 . mr-sm-7 267 + .mx-sm-7 268 margin-right 80px!important 269 . ml-sm-7 270 + .mx-sm-7 271 margin-left 80px!important 272 . mt-sm-7 273 + .my-sm-7 274 margin-top 80px!important 275 . mb-sm-7 276 + .my-sm-7 277 margin-bottom 80px!important 278 . m-sm-7 279 margin 80px!important 280 . mr-sm-8 281 + .mx-sm-8 282 margin-right 96px!important 283 . ml-sm-8 284 + .mx-sm-8 285 margin-left 96px!important 286 . mt-sm-8 287 + .my-sm-8 288 margin-top 96px!important 289 . mb-sm-8 290 + .my-sm-8 291 margin-bottom 96px!important 292 . m-sm-8 293 margin 96px!important 294 . mr-sm-9 295 + .mx-sm-9 296 margin-right 112px!important 297 . ml-sm-9 298 + .mx-sm-9 299 margin-left 112px!important 300 . mt-sm-9 301 + .my-sm-9 302 margin-top 112px!important 303 . mb-sm-9 304 + .my-sm-9 305 margin-bottom 112px!important 306 . m-sm-9 307 margin 112px!important 308 media (min-width:768px) 309 . float-md-left 310 float left!important 311 . mr-md-0 312 + .mx-md-0 313 margin-right 0!important 314 . ml-md-0 315 + .mx-md-0 316 margin-left 0!important 317 . mt-md-0 318 + .my-md-0 319 margin-top 0!important 320 . mb-md-0 321 + .my-md-0 322 margin-bottom 0!important 323 . m-md-0 324 margin 0!important 325 . mr-md-1 326 + .mx-md-1 327 margin-right 4px!important 328 . ml-md-1 329 + .mx-md-1 330 margin-left 4px!important 331 . mt-md-1 332 + .my-md-1 333 margin-top 4px!important 334 . mb-md-1 335 + .my-md-1 336 margin-bottom 4px!important 337 . m-md-1 338 margin 4px!important 339 . mr-md-2 340 + .mx-md-2 341 margin-right 8px!important 342 . ml-md-2 343 + .mx-md-2 344 margin-left 8px!important 345 . mt-md-2 346 + .my-md-2 347 margin-top 8px!important 348 . mb-md-2 349 + .my-md-2 350 margin-bottom 8px!important 351 . m-md-2 352 margin 8px!important 353 . mr-md-3 354 + .mx-md-3 355 margin-right 16px!important 356 . ml-md-3 357 + .mx-md-3 358 margin-left 16px!important 359 . mt-md-3 360 + .my-md-3 361 margin-top 16px!important 362 . mb-md-3 363 + .my-md-3 364 margin-bottom 16px!important 365 . m-md-3 366 margin 16px!important 367 . mr-md-4 368 + .mx-md-4 369 margin-right 32px!important 370 . ml-md-4 371 + .mx-md-4 372 margin-left 32px!important 373 . mt-md-4 374 + .my-md-4 375 margin-top 32px!important 376 . mb-md-4 377 + .my-md-4 378 margin-bottom 32px!important 379 . m-md-4 380 margin 32px!important 381 . mr-md-5 382 + .mx-md-5 383 margin-right 48px!important 384 . ml-md-5 385 + .mx-md-5 386 margin-left 48px!important 387 . mt-md-5 388 + .my-md-5 389 margin-top 48px!important 390 . mb-md-5 391 + .my-md-5 392 margin-bottom 48px!important 393 . m-md-5 394 margin 48px!important 395 . mr-md-6 396 + .mx-md-6 397 margin-right 64px!important 398 . ml-md-6 399 + .mx-md-6 400 margin-left 64px!important 401 . mt-md-6 402 + .my-md-6 403 margin-top 64px!important 404 . mb-md-6 405 + .my-md-6 406 margin-bottom 64px!important 407 . m-md-6 408 margin 64px!important 409 . mr-md-7 410 + .mx-md-7 411 margin-right 80px!important 412 . ml-md-7 413 + .mx-md-7 414 margin-left 80px!important 415 . mt-md-7 416 + .my-md-7 417 margin-top 80px!important 418 . mb-md-7 419 + .my-md-7 420 margin-bottom 80px!important 421 . m-md-7 422 margin 80px!important 423 . mr-md-8 424 + .mx-md-8 425 margin-right 96px!important 426 . ml-md-8 427 + .mx-md-8 428 margin-left 96px!important 429 . mt-md-8 430 + .my-md-8 431 margin-top 96px!important 432 . mb-md-8 433 + .my-md-8 434 margin-bottom 96px!important 435 . m-md-8 436 margin 96px!important 437 . mr-md-9 438 + .mx-md-9 439 margin-right 112px!important 440 . ml-md-9 441 + .mx-md-9 442 margin-left 112px!important 443 . mt-md-9 444 + .my-md-9 445 margin-top 112px!important 446 . mb-md-9 447 + .my-md-9 448 margin-bottom 112px!important 449 . m-md-9 450 margin 112px!important 451 . p-0 452 padding 0!important 453 . pr-1 454 + .px-1 455 padding-right 4px!important 456 . pl-1 457 + .px-1 458 padding-left 4px!important 459 . pt-1 460 + .py-1 461 padding-top 4px!important 462 . pb-1 463 + .py-1 464 padding-bottom 4px!important 465 . p-1 466 padding 4px!important 467 . pr-2 468 + .px-2 469 padding-right 8px!important 470 . pl-2 471 + .px-2 472 padding-left 8px!important 473 . pt-2 474 + .py-2 475 padding-top 8px!important 476 . pb-2 477 + .py-2 478 padding-bottom 8px!important 479 . p-2 480 padding 8px!important 481 . pr-3 482 + .px-3 483 padding-right 16px!important 484 . pl-3 485 + .px-3 486 padding-left 16px!important 487 . pt-3 488 + .py-3 489 padding-top 16px!important 490 . pb-3 491 + .py-3 492 padding-bottom 16px!important 493 . p-3 494 padding 16px!important 495 . pr-4 496 + .px-4 497 padding-right 32px!important 498 . pl-4 499 + .px-4 500 padding-left 32px!important 501 . pt-4 502 + .py-4 503 padding-top 32px!important 504 . pb-4 505 + .py-4 506 padding-bottom 32px!important 507 . p-4 508 padding 32px!important 509 . pr-5 510 + .px-5 511 padding-right 48px!important 512 . pl-5 513 + .px-5 514 padding-left 48px!important 515 . pt-5 516 + .py-5 517 padding-top 48px!important 518 . pb-5 519 + .py-5 520 padding-bottom 48px!important 521 . p-5 522 padding 48px!important 523 . pr-6 524 + .px-6 525 padding-right 64px!important 526 . pl-6 527 + .px-6 528 padding-left 64px!important 529 . pt-6 530 + .py-6 531 padding-top 64px!important 532 . pb-6 533 + .py-6 534 padding-bottom 64px!important 535 . p-6 536 padding 64px!important 537 . pr-7 538 + .px-7 539 padding-right 80px!important 540 . pl-7 541 + .px-7 542 padding-left 80px!important 543 . pt-7 544 + .py-7 545 padding-top 80px!important 546 . pb-7 547 + .py-7 548 padding-bottom 80px!important 549 . p-7 550 padding 80px!important 551 . pr-8 552 + .px-8 553 padding-right 96px!important 554 . pl-8 555 + .px-8 556 padding-left 96px!important 557 . pt-8 558 + .py-8 559 padding-top 96px!important 560 . pb-8 561 + .py-8 562 padding-bottom 96px!important 563 . p-8 564 padding 96px!important 565 . pr-9 566 + .px-9 567 padding-right 112px!important 568 . pl-9 569 + .px-9 570 padding-left 112px!important 571 . pt-9 572 + .py-9 573 padding-top 112px!important 574 . pb-9 575 + .py-9 576 padding-bottom 112px!important 577 . p-9 578 padding 112px!important 579 media (min-width:544px) 580 . pr-sm-0 581 + .px-sm-0 582 padding-right 0!important 583 . pl-sm-0 584 + .px-sm-0 585 padding-left 0!important 586 . pt-sm-0 587 + .py-sm-0 588 padding-top 0!important 589 . pb-sm-0 590 + .py-sm-0 591 padding-bottom 0!important 592 . p-sm-0 593 padding 0!important 594 . pr-sm-1 595 + .px-sm-1 596 padding-right 4px!important 597 . pl-sm-1 598 + .px-sm-1 599 padding-left 4px!important 600 . pt-sm-1 601 + .py-sm-1 602 padding-top 4px!important 603 . pb-sm-1 604 + .py-sm-1 605 padding-bottom 4px!important 606 . p-sm-1 607 padding 4px!important 608 . pr-sm-2 609 + .px-sm-2 610 padding-right 8px!important 611 . pl-sm-2 612 + .px-sm-2 613 padding-left 8px!important 614 . pt-sm-2 615 + .py-sm-2 616 padding-top 8px!important 617 . pb-sm-2 618 + .py-sm-2 619 padding-bottom 8px!important 620 . p-sm-2 621 padding 8px!important 622 . pr-sm-3 623 + .px-sm-3 624 padding-right 16px!important 625 . pl-sm-3 626 + .px-sm-3 627 padding-left 16px!important 628 . pt-sm-3 629 + .py-sm-3 630 padding-top 16px!important 631 . pb-sm-3 632 + .py-sm-3 633 padding-bottom 16px!important 634 . p-sm-3 635 padding 16px!important 636 . pr-sm-4 637 + .px-sm-4 638 padding-right 32px!important 639 . pl-sm-4 640 + .px-sm-4 641 padding-left 32px!important 642 . pt-sm-4 643 + .py-sm-4 644 padding-top 32px!important 645 . pb-sm-4 646 + .py-sm-4 647 padding-bottom 32px!important 648 . p-sm-4 649 padding 32px!important 650 . pr-sm-5 651 + .px-sm-5 652 padding-right 48px!important 653 . pl-sm-5 654 + .px-sm-5 655 padding-left 48px!important 656 . pt-sm-5 657 + .py-sm-5 658 padding-top 48px!important 659 . pb-sm-5 660 + .py-sm-5 661 padding-bottom 48px!important 662 . p-sm-5 663 padding 48px!important 664 . pr-sm-6 665 + .px-sm-6 666 padding-right 64px!important 667 . pl-sm-6 668 + .px-sm-6 669 padding-left 64px!important 670 . pt-sm-6 671 + .py-sm-6 672 padding-top 64px!important 673 . pb-sm-6 674 + .py-sm-6 675 padding-bottom 64px!important 676 . p-sm-6 677 padding 64px!important 678 . pr-sm-7 679 + .px-sm-7 680 padding-right 80px!important 681 . pl-sm-7 682 + .px-sm-7 683 padding-left 80px!important 684 . pt-sm-7 685 + .py-sm-7 686 padding-top 80px!important 687 . pb-sm-7 688 + .py-sm-7 689 padding-bottom 80px!important 690 . p-sm-7 691 padding 80px!important 692 . pr-sm-8 693 + .px-sm-8 694 padding-right 96px!important 695 . pl-sm-8 696 + .px-sm-8 697 padding-left 96px!important 698 . pt-sm-8 699 + .py-sm-8 700 padding-top 96px!important 701 . pb-sm-8 702 + .py-sm-8 703 padding-bottom 96px!important 704 . p-sm-8 705 padding 96px!important 706 . pr-sm-9 707 + .px-sm-9 708 padding-right 112px!important 709 . pl-sm-9 710 + .px-sm-9 711 padding-left 112px!important 712 . pt-sm-9 713 + .py-sm-9 714 padding-top 112px!important 715 . pb-sm-9 716 + .py-sm-9 717 padding-bottom 112px!important 718 . p-sm-9 719 padding 112px!important 720 media (min-width:768px) 721 . pr-md-0 722 + .px-md-0 723 padding-right 0!important 724 . pl-md-0 725 + .px-md-0 726 padding-left 0!important 727 . pt-md-0 728 + .py-md-0 729 padding-top 0!important 730 . pb-md-0 731 + .py-md-0 732 padding-bottom 0!important 733 . p-md-0 734 padding 0!important 735 . pr-md-1 736 + .px-md-1 737 padding-right 4px!important 738 . pl-md-1 739 + .px-md-1 740 padding-left 4px!important 741 . pt-md-1 742 + .py-md-1 743 padding-top 4px!important 744 . pb-md-1 745 + .py-md-1 746 padding-bottom 4px!important 747 . p-md-1 748 padding 4px!important 749 . pr-md-2 750 + .px-md-2 751 padding-right 8px!important 752 . pl-md-2 753 + .px-md-2 754 padding-left 8px!important 755 . pt-md-2 756 + .py-md-2 757 padding-top 8px!important 758 . pb-md-2 759 + .py-md-2 760 padding-bottom 8px!important 761 . p-md-2 762 padding 8px!important 763 . pr-md-3 764 + .px-md-3 765 padding-right 16px!important 766 . pl-md-3 767 + .px-md-3 768 padding-left 16px!important 769 . pt-md-3 770 + .py-md-3 771 padding-top 16px!important 772 . pb-md-3 773 + .py-md-3 774 padding-bottom 16px!important 775 . p-md-3 776 padding 16px!important 777 . pr-md-4 778 + .px-md-4 779 padding-right 32px!important 780 . pl-md-4 781 + .px-md-4 782 padding-left 32px!important 783 . pt-md-4 784 + .py-md-4 785 padding-top 32px!important 786 . pb-md-4 787 + .py-md-4 788 padding-bottom 32px!important 789 . p-md-4 790 padding 32px!important 791 . pr-md-5 792 + .px-md-5 793 padding-right 48px!important 794 . pl-md-5 795 + .px-md-5 796 padding-left 48px!important 797 . pt-md-5 798 + .py-md-5 799 padding-top 48px!important 800 . pb-md-5 801 + .py-md-5 802 padding-bottom 48px!important 803 . p-md-5 804 padding 48px!important 805 . pr-md-6 806 + .px-md-6 807 padding-right 64px!important 808 . pl-md-6 809 + .px-md-6 810 padding-left 64px!important 811 . pt-md-6 812 + .py-md-6 813 padding-top 64px!important 814 . pb-md-6 815 + .py-md-6 816 padding-bottom 64px!important 817 . p-md-6 818 padding 64px!important 819 . pr-md-7 820 + .px-md-7 821 padding-right 80px!important 822 . pl-md-7 823 + .px-md-7 824 padding-left 80px!important 825 . pt-md-7 826 + .py-md-7 827 padding-top 80px!important 828 . pb-md-7 829 + .py-md-7 830 padding-bottom 80px!important 831 . p-md-7 832 padding 80px!important 833 . pr-md-8 834 + .px-md-8 835 padding-right 96px!important 836 . pl-md-8 837 + .px-md-8 838 padding-left 96px!important 839 . pt-md-8 840 + .py-md-8 841 padding-top 96px!important 842 . pb-md-8 843 + .py-md-8 844 padding-bottom 96px!important 845 . p-md-8 846 padding 96px!important 847 . pr-md-9 848 + .px-md-9 849 padding-right 112px!important 850 . pl-md-9 851 + .px-md-9 852 padding-left 112px!important 853 . pt-md-9 854 + .py-md-9 855 padding-top 112px!important 856 . pb-md-9 857 + .py-md-9 858 padding-bottom 112px!important 859 . p-md-9 860 padding 112px!important 861 media (min-width:1012px) 862 . float-lg-left 863 float left!important 864 . mr-lg-0 865 + .mx-lg-0 866 margin-right 0!important 867 . ml-lg-0 868 + .mx-lg-0 869 margin-left 0!important 870 . mt-lg-0 871 + .my-lg-0 872 margin-top 0!important 873 . mb-lg-0 874 + .my-lg-0 875 margin-bottom 0!important 876 . m-lg-0 877 margin 0!important 878 . mr-lg-1 879 + .mx-lg-1 880 margin-right 4px!important 881 . ml-lg-1 882 + .mx-lg-1 883 margin-left 4px!important 884 . mt-lg-1 885 + .my-lg-1 886 margin-top 4px!important 887 . mb-lg-1 888 + .my-lg-1 889 margin-bottom 4px!important 890 . m-lg-1 891 margin 4px!important 892 . mr-lg-2 893 + .mx-lg-2 894 margin-right 8px!important 895 . ml-lg-2 896 + .mx-lg-2 897 margin-left 8px!important 898 . mt-lg-2 899 + .my-lg-2 900 margin-top 8px!important 901 . mb-lg-2 902 + .my-lg-2 903 margin-bottom 8px!important 904 . m-lg-2 905 margin 8px!important 906 . mr-lg-3 907 + .mx-lg-3 908 margin-right 16px!important 909 . ml-lg-3 910 + .mx-lg-3 911 margin-left 16px!important 912 . mt-lg-3 913 + .my-lg-3 914 margin-top 16px!important 915 . mb-lg-3 916 + .my-lg-3 917 margin-bottom 16px!important 918 . m-lg-3 919 margin 16px!important 920 . mr-lg-4 921 + .mx-lg-4 922 margin-right 32px!important 923 . ml-lg-4 924 + .mx-lg-4 925 margin-left 32px!important 926 . mt-lg-4 927 + .my-lg-4 928 margin-top 32px!important 929 . mb-lg-4 930 + .my-lg-4 931 margin-bottom 32px!important 932 . m-lg-4 933 margin 32px!important 934 . mr-lg-5 935 + .mx-lg-5 936 margin-right 48px!important 937 . ml-lg-5 938 + .mx-lg-5 939 margin-left 48px!important 940 . mt-lg-5 941 + .my-lg-5 942 margin-top 48px!important 943 . mb-lg-5 944 + .my-lg-5 945 margin-bottom 48px!important 946 . m-lg-5 947 margin 48px!important 948 . mr-lg-6 949 + .mx-lg-6 950 margin-right 64px!important 951 . ml-lg-6 952 + .mx-lg-6 953 margin-left 64px!important 954 . mt-lg-6 955 + .my-lg-6 956 margin-top 64px!important 957 . mb-lg-6 958 + .my-lg-6 959 margin-bottom 64px!important 960 . m-lg-6 961 margin 64px!important 962 . mr-lg-7 963 + .mx-lg-7 964 margin-right 80px!important 965 . ml-lg-7 966 + .mx-lg-7 967 margin-left 80px!important 968 . mt-lg-7 969 + .my-lg-7 970 margin-top 80px!important 971 . mb-lg-7 972 + .my-lg-7 973 margin-bottom 80px!important 974 . m-lg-7 975 margin 80px!important 976 . mr-lg-8 977 + .mx-lg-8 978 margin-right 96px!important 979 . ml-lg-8 980 + .mx-lg-8 981 margin-left 96px!important 982 . mt-lg-8 983 + .my-lg-8 984 margin-top 96px!important 985 . mb-lg-8 986 + .my-lg-8 987 margin-bottom 96px!important 988 . m-lg-8 989 margin 96px!important 990 . mr-lg-9 991 + .mx-lg-9 992 margin-right 112px!important 993 . ml-lg-9 994 + .mx-lg-9 995 margin-left 112px!important 996 . mt-lg-9 997 + .my-lg-9 998 margin-top 112px!important 999 . mb-lg-91000 + .my-lg-91001 margin-bottom 112px!important1002 . m-lg-91003 margin 112px!important1004 . pr-lg-01005 + .px-lg-01006 padding-right 0!important1007 . pl-lg-01008 + .px-lg-01009 padding-left 0!important1010 . pt-lg-01011 + .py-lg-01012 padding-top 0!important1013 . pb-lg-01014 + .py-lg-01015 padding-bottom 0!important1016 . p-lg-01017 padding 0!important1018 . pr-lg-11019 + .px-lg-11020 padding-right 4px!important1021 . pl-lg-11022 + .px-lg-11023 padding-left 4px!important1024 . pt-lg-11025 + .py-lg-11026 padding-top 4px!important1027 . pb-lg-11028 + .py-lg-11029 padding-bottom 4px!important1030 . p-lg-11031 padding 4px!important1032 . pr-lg-21033 + .px-lg-21034 padding-right 8px!important1035 . pl-lg-21036 + .px-lg-21037 padding-left 8px!important1038 . pt-lg-21039 + .py-lg-21040 padding-top 8px!important1041 . pb-lg-21042 + .py-lg-21043 padding-bottom 8px!important1044 . p-lg-21045 padding 8px!important1046 . pr-lg-31047 + .px-lg-31048 padding-right 16px!important1049 . pl-lg-31050 + .px-lg-31051 padding-left 16px!important1052 . pt-lg-31053 + .py-lg-31054 padding-top 16px!important1055 . pb-lg-31056 + .py-lg-31057 padding-bottom 16px!important1058 . p-lg-31059 padding 16px!important1060 . pr-lg-41061 + .px-lg-41062 padding-right 32px!important1063 . pl-lg-41064 + .px-lg-41065 padding-left 32px!important1066 . pt-lg-41067 + .py-lg-41068 padding-top 32px!important1069 . pb-lg-41070 + .py-lg-41071 padding-bottom 32px!important1072 . p-lg-41073 padding 32px!important1074 . pr-lg-51075 + .px-lg-51076 padding-right 48px!important1077 . pl-lg-51078 + .px-lg-51079 padding-left 48px!important1080 . pt-lg-51081 + .py-lg-51082 padding-top 48px!important1083 . pb-lg-51084 + .py-lg-51085 padding-bottom 48px!important1086 . p-lg-51087 padding 48px!important1088 . pr-lg-61089 + .px-lg-61090 padding-right 64px!important1091 . pl-lg-61092 + .px-lg-61093 padding-left 64px!important1094 . pt-lg-61095 + .py-lg-61096 padding-top 64px!important1097 . pb-lg-61098 + .py-lg-61099 padding-bottom 64px!important1100 . p-lg-61101 padding 64px!important1102 . pr-lg-71103 + .px-lg-71104 padding-right 80px!important1105 . pl-lg-71106 + .px-lg-71107 padding-left 80px!important1108 . pt-lg-71109 + .py-lg-71110 padding-top 80px!important1111 . pb-lg-71112 + .py-lg-71113 padding-bottom 80px!important1114 . p-lg-71115 padding 80px!important1116 . pr-lg-81117 + .px-lg-81118 padding-right 96px!important1119 . pl-lg-81120 + .px-lg-81121 padding-left 96px!important1122 . pt-lg-81123 + .py-lg-81124 padding-top 96px!important1125 . pb-lg-81126 + .py-lg-81127 padding-bottom 96px!important1128 . p-lg-81129 padding 96px!important1130 . pr-lg-91131 + .px-lg-91132 padding-right 112px!important1133 . pl-lg-91134 + .px-lg-91135 padding-left 112px!important1136 . pt-lg-91137 + .py-lg-91138 padding-top 112px!important1139 . pb-lg-91140 + .py-lg-91141 padding-bottom 112px!important1142 . p-lg-91143 padding 112px!important1144 media (min-width:1280px)1145 . float-xl-left1146 float left!important1147 . mr-xl-01148 + .mx-xl-01149 margin-right 0!important1150 . ml-xl-01151 + .mx-xl-01152 margin-left 0!important1153 . mt-xl-01154 + .my-xl-01155 margin-top 0!important1156 . mb-xl-01157 + .my-xl-01158 margin-bottom 0!important1159 . m-xl-01160 margin 0!important1161 . mr-xl-11162 + .mx-xl-11163 margin-right 4px!important1164 . ml-xl-11165 + .mx-xl-11166 margin-left 4px!important1167 . mt-xl-11168 + .my-xl-11169 margin-top 4px!important1170 . mb-xl-11171 + .my-xl-11172 margin-bottom 4px!important1173 . m-xl-11174 margin 4px!important1175 . mr-xl-21176 + .mx-xl-21177 margin-right 8px!important1178 . ml-xl-21179 + .mx-xl-21180 margin-left 8px!important1181 . mt-xl-21182 + .my-xl-21183 margin-top 8px!important1184 . mb-xl-21185 + .my-xl-21186 margin-bottom 8px!important1187 . m-xl-21188 margin 8px!important1189 . mr-xl-31190 + .mx-xl-31191 margin-right 16px!important1192 . ml-xl-31193 + .mx-xl-31194 margin-left 16px!important1195 . mt-xl-31196 + .my-xl-31197 margin-top 16px!important1198 . mb-xl-31199 + .my-xl-31200 margin-bottom 16px!important1201 . m-xl-31202 margin 16px!important1203 . mr-xl-41204 + .mx-xl-41205 margin-right 32px!important1206 . ml-xl-41207 + .mx-xl-41208 margin-left 32px!important1209 . mt-xl-41210 + .my-xl-41211 margin-top 32px!important1212 . mb-xl-41213 + .my-xl-41214 margin-bottom 32px!important1215 . m-xl-41216 margin 32px!important1217 . mr-xl-51218 + .mx-xl-51219 margin-right 48px!important1220 . ml-xl-51221 + .mx-xl-51222 margin-left 48px!important1223 . mt-xl-51224 + .my-xl-51225 margin-top 48px!important1226 . mb-xl-51227 + .my-xl-51228 margin-bottom 48px!important1229 . m-xl-51230 margin 48px!important1231 . mr-xl-61232 + .mx-xl-61233 margin-right 64px!important1234 . ml-xl-61235 + .mx-xl-61236 margin-left 64px!important1237 . mt-xl-61238 + .my-xl-61239 margin-top 64px!important1240 . mb-xl-61241 + .my-xl-61242 margin-bottom 64px!important1243 . m-xl-61244 margin 64px!important1245 . mr-xl-71246 + .mx-xl-71247 margin-right 80px!important1248 . ml-xl-71249 + .mx-xl-71250 margin-left 80px!important1251 . mt-xl-71252 + .my-xl-71253 margin-top 80px!important1254 . mb-xl-71255 + .my-xl-71256 margin-bottom 80px!important1257 . m-xl-71258 margin 80px!important1259 . mr-xl-81260 + .mx-xl-81261 margin-right 96px!important1262 . ml-xl-81263 + .mx-xl-81264 margin-left 96px!important1265 . mt-xl-81266 + .my-xl-81267 margin-top 96px!important1268 . mb-xl-81269 + .my-xl-81270 margin-bottom 96px!important1271 . m-xl-81272 margin 96px!important1273 . mr-xl-91274 + .mx-xl-91275 margin-right 112px!important1276 . ml-xl-91277 + .mx-xl-91278 margin-left 112px!important1279 . mt-xl-91280 + .my-xl-91281 margin-top 112px!important1282 . mb-xl-91283 + .my-xl-91284 margin-bottom 112px!important1285 . m-xl-91286 margin 112px!important1287 . pr-xl-01288 + .px-xl-01289 padding-right 0!important1290 . pl-xl-01291 + .px-xl-01292 padding-left 0!important1293 . pt-xl-01294 + .py-xl-01295 padding-top 0!important1296 . pb-xl-01297 + .py-xl-01298 padding-bottom 0!important1299 . p-xl-01300 padding 0!important1301 . pr-xl-11302 + .px-xl-11303 padding-right 4px!important1304 . pl-xl-11305 + .px-xl-11306 padding-left 4px!important1307 . pt-xl-11308 + .py-xl-11309 padding-top 4px!important1310 . pb-xl-11311 + .py-xl-11312 padding-bottom 4px!important1313 . p-xl-11314 padding 4px!important1315 . pr-xl-21316 + .px-xl-21317 padding-right 8px!important1318 . pl-xl-21319 + .px-xl-21320 padding-left 8px!important1321 . pt-xl-21322 + .py-xl-21323 padding-top 8px!important1324 . pb-xl-21325 + .py-xl-21326 padding-bottom 8px!important1327 . p-xl-21328 padding 8px!important1329 . pr-xl-31330 + .px-xl-31331 padding-right 16px!important1332 . pl-xl-31333 + .px-xl-31334 padding-left 16px!important1335 . pt-xl-31336 + .py-xl-31337 padding-top 16px!important1338 . pb-xl-31339 + .py-xl-31340 padding-bottom 16px!important1341 . p-xl-31342 padding 16px!important1343 . pr-xl-41344 + .px-xl-41345 padding-right 32px!important1346 . pl-xl-41347 + .px-xl-41348 padding-left 32px!important1349 . pt-xl-41350 + .py-xl-41351 padding-top 32px!important1352 . pb-xl-41353 + .py-xl-41354 padding-bottom 32px!important1355 . p-xl-41356 padding 32px!important1357 . pr-xl-51358 + .px-xl-51359 padding-right 48px!important1360 . pl-xl-51361 + .px-xl-51362 padding-left 48px!important1363 . pt-xl-51364 + .py-xl-51365 padding-top 48px!important1366 . pb-xl-51367 + .py-xl-51368 padding-bottom 48px!important1369 . p-xl-51370 padding 48px!important1371 . pr-xl-61372 + .px-xl-61373 padding-right 64px!important1374 . pl-xl-61375 + .px-xl-61376 padding-left 64px!important1377 . pt-xl-61378 + .py-xl-61379 padding-top 64px!important1380 . pb-xl-61381 + .py-xl-61382 padding-bottom 64px!important1383 . p-xl-61384 padding 64px!important1385 . pr-xl-71386 + .px-xl-71387 padding-right 80px!important1388 . pl-xl-71389 + .px-xl-71390 padding-left 80px!important1391 . pt-xl-71392 + .py-xl-71393 padding-top 80px!important1394 . pb-xl-71395 + .py-xl-71396 padding-bottom 80px!important1397 . p-xl-71398 padding 80px!important1399 . pr-xl-81400 + .px-xl-81401 padding-right 96px!important1402 . pl-xl-81403 + .px-xl-81404 padding-left 96px!important1405 . pt-xl-81406 + .py-xl-81407 padding-top 96px!important1408 . pb-xl-81409 + .py-xl-81410 padding-bottom 96px!important1411 . p-xl-81412 padding 96px!important1413 . pr-xl-91414 + .px-xl-91415 padding-right 112px!important1416 . pl-xl-91417 + .px-xl-91418 padding-left 112px!important1419 . pt-xl-91420 + .py-xl-91421 padding-top 112px!important1422 . pb-xl-91423 + .py-xl-91424 padding-bottom 112px!important1425 . p-xl-91426 padding 112px!important
/src/ittf/jobs/ittf__copy/site/site/t/css/a.css.ittf
1 $group 2 < a 3 color #2086d7 4 text-decoration none 5 -webkit-transition color 250ms 6 transition color 250ms 7 < a:hover 8 color #1a6aab 9 < a.icon-link 10 display inline-block 11 font-size 0.7em 12 margin-left 16px 13 -webkit-transform rotate(-45deg) 14 transform rotate(-45deg) 15 color #b3b3b3 16 < a.icon-link:hover 17 color #2086d7
/src/ittf/jobs/ittf__copy/site/site/t/css/api.css.ittf
1 $group 2 $include defs 3 . api-property-panel 4 $$ background-color #ede 5 border 1px solid #ede 6 margin-top 5px 7 padding 5px 10px 8 . api-method-panel 9 $$ background-color #ede 10 border 1px solid #ede 11 margin-top 10px 12 padding 10px 13 . api-method-section-title 14 margin-top 10px 15 font-size 0.9em 16 font-style italics 17 font-weight bold 18 . api-method 19 background-color #ddd 20 color #222 21 font-size 1.5em 22 padding 5px 0px 23 . api-property-panel 24 border 1px solid #ede 25 . api-property 26 background-color #ddd 27 color #222 28 font-size 1.5em 29 padding 5px 0px 30 . api-property-name 31 color #222 32 font-size 1em 33 . api-property-type 34 color darkgreen 35 font-size 0.9em 36 . api-param-panel 37 border 1px solid #ede 38 . api-param-name 39 color #222 40 font-size 1em 41 . api-param-type 42 color darkgreen 43 font-size 0.9em 44 . api-ref-label 45 color darkblue 46 font-size 0.9em 47 . api-ref 48 color ${color22} 49 font-size 1em 50 . api-info-label 51 color orange 52 font-size 0.9em 53 . api-info 54 color #888 55 font-size 1em 56 . api-info-tag 57 color darkred 58 font-size 1em 59 . api-info-name 60 color #222 61 font-size 1em 62 . api-comment-api 63 color #222 64 margin-top 10px 65 padding 10px 66 background-color #ededee 67 font-size 1em 68 . api-comment-property 69 color #222 70 padding 10px 71 font-size 0.9em 72 . api-comment-method 73 color #222 74 padding 10px 75 font-size 0.9em 76 . api-comment-info 77 color #222 78 padding 10px 79 font-size 0.9em 80 . api-comment-array-item 81 color #222 82 padding 10px 83 font-size 0.9em 84 . api-comment-param 85 color #222 86 font-size 0.8em 87 . api-comment-object-property 88 color #222 89 font-size 0.8em 90 . api-comment-typed-value 91 color #222 92 font-size 0.8em
/src/ittf/jobs/ittf__copy/site/site/t/css/article.css.ittf
1 $group 2 < section h1 3 background #444 4 color #eee 5 padding 10px 5px 6 < section h2 7 background #ddd 8 color #000 9 padding 15px 5px 10 margin 20px 0 11 < h3 12 background #eee 13 color #000 14 padding 3px 1px 15 . pretty-table 16 border 1px solid #333 17 width 100% 18 . pretty-table th, .pretty-table td 19 border 1px solid #666 20 . cli-command 21 background #333 22 border-radius 3px 23 color #f0f0f0 24 padding .75em 1.2em 25 font-family courier 26 font-size .8em 27 . concept 28 margin 30px 0
/src/ittf/jobs/ittf__copy/site/site/t/css/code.css.ittf
1 $group 2 . code-panel 3 margin-bottom 20px 4 . code-panel h4 5 margin-top 0px 6 margin-bottom 0px
/src/ittf/jobs/ittf__copy/site/site/t/css/frame.css.ittf
1 $group 2 $if true 3 . top-header 4 position fixed 5 top 10px 6 left 0 7 width 90% 8 height 30px 9 background #555 10 color #eee 11 . main-sidebar-left 12 position fixed 13 top 60px 14 width 25% 15 height 90% 16 overflow auto 17 padding 10px 18 . main-content 19 margin-top 10px 20 margin-left 30% 21 width 60% 22 line-height 1.5em 23 z-index 1
/src/ittf/jobs/ittf__copy/site/site/t/css/gridSystem_float.css.ittf
1 $group 2 $ 3 var columns = 12 4 var percWidth = 100 5 var percMarginWidth = 10 6 var maxWidth = 1200 7 var gutter = 12 8 - The basic grid contains just a few elements 9 - . container 10 - . rows 11 - . columns 12 - . gutters (the space between columns) 13 - The width of the container is generally 100%, 14 - but you might want to set a max-width for larger displays. 15 . gsf-grid-container 16 width ${percWidth}% 17 max-width ${maxWidth}px 18 - Using the 'border-box' model, we can create gutters with ease. 19 - setting border box on all elements inside the grid 20 . gsf-grid-container * 21 box-sizing border-box 22 - cleafix hack - to make sure everything inside 23 - the row stays inside the row. 24 . gsf-row:before 25 + .gsf-row:after 26 content "" 27 display table 28 clear both 29 - To prevent that empty columns will stack on top of each other 30 - we'll give our columns a min-height of 1px as well as float them. 31 < [class*='gsf-col-'] 32 float left 33 min-height 1px 34 - our gutter 35 padding ${gutter}px 36 - To find the width of one column, all we have to do is divide 37 - the total number of columns by the width of the container. 38 - In our case, the width of the container is ${percWidth}%, 39 - and we want ${columns} columns, so ${percWidth}/${columns} = ${percWidth/columns}%. 40 < [class*='gsf-col-'] 41 width ${percWidth/columns}% 42 $for var i=1; i<columns+1; i++ 43 . gsf-col-${i} 44 width ${(percWidth/columns)*i}% 45 $for var i=0; i<columns; i++ 46 . gsf-sm-${i} 47 margin-left ${(percWidth/columns)*i}% 48 $if i > 0 49 @ *margin-left ${(percWidth/columns)*i-0.005}% 50 $for var i=0; i<columns; i++ 51 . gsf-smr-${i} 52 margin-left ${(percMarginWidth/columns)*i}% 53 $if i > 0 54 @ *margin-left ${(percMarginWidth/columns)*i-0.005}% 55 $for var i=0; i<columns; i++ 56 . gsf-sm-${i} 57 margin-left ${(percWidth/columns)*i}% 58 $if i > 0 59 @ *margin-left ${(percWidth/columns)*i-0.005}% 60 . gsf-outline 61 + .gsf-outline * 62 outline 1px solid #F6A1A1 63 - some extra column content styling 64 < [class*='gsf-col-'] > p 65 background-color #FFC2C2 66 padding 0 67 margin 0 68 text-align center 69 color white
/src/ittf/jobs/ittf__copy/site/site/t/css/header.css.ittf
1 $group 2 . header 3 position fixed 4 display flex 5 top 0 6 width 100% 7 height 60px 8 background #555 9 . header-double 10 position fixed 11 display flex 12 top 0 13 width 100% 14 height 90px 15 background #555 16 . header-logo 17 display flex 18 width 25% 19 justify-content center 20 align-items center 21 . header-logo .logo 22 font-size 36px 23 font-weight bold 24 font-family impact 25 color #fff 26 . header-items 27 . header-item 28 float left 29 padding 10px 20px 30 font-size 22px 31 height 40px 32 text-decoration none 33 color #ddd 34 . header-item-bottom 35 float left 36 padding 5px 20px 37 font-size 18px 38 height 20px 39 text-decoration none 40 color #ddd 41 . selected-header-item 42 float left 43 padding 10px 20px 44 font-size 22px 45 height 40px 46 text-decoration none 47 color #555 48 background-color #ddd
/src/ittf/jobs/ittf__copy/site/site/t/css/icons.css.ittf
1 $group 2 $include defs 3 font-face 4 font-family "icons" 5 src url('data:application/octet-stream;base64,d09GRgABAAAAAA5YAA8AAAAAFzQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFY+IFXgY21hcAAAAdgAAABxAAAByLeGJxljdnQgAAACTAAAABMAAAAgBtX/BGZwZ20AAAJgAAAFkAAAC3CKkZBZZ2FzcAAAB/AAAAAIAAAACAAAABBnbHlmAAAH+AAAA34AAAP0+6zqTGhlYWQAAAt4AAAAMwAAADYOWutvaGhlYQAAC6wAAAAfAAAAJAcxA1hobXR4AAALzAAAABgAAAAYE5j/9GxvY2EAAAvkAAAADgAAAA4DxgKmbWF4cAAAC/QAAAAgAAAAIAEJC+puYW1lAAAMFAAAAXwAAAKp1BxS6XBvc3QAAA2QAAAASgAAAF72BKiVcHJlcAAADdwAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZHZhnMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDA4vGL7yMgf9z2KIYg5imAYUZgTJAQDXLQuLAHic7ZFBCsMwDARHsV2a4PwkLwl9T055cO/CZ1eymkD/0DVj2MXIsAIKkIzNyCAnguuwVEaeWEae2c1XnkzkN4rOWtvaO/y6W2Kvr+NuslnZf5QHf9Vxv76ueIuB964E1pk1G/ietAa+q7YGlA8gqhpqAAAAeJxjYEADEhDIHPQ/C4QBEmwD3QB4nK1WaXfTRhQdeUmchCwlCy1qYcTEabBGJmzBgAlBsmMgXZytlaCLFDvpvvGJ3+Bf82Tac+g3flrvGy8kkLTncJqTo3fnzdXM22USWpLYC+uRlJsvxdTWJo3sPAnphk3LUXwoO3shZYrJ3wVREK2W2rcdh0REIlC1rrBEEPseWZpkfOhRRsu2pFdNyi096S5b40G9Vd9+GjrKsTuhpGYzdGg9siVVGFWiSKY9UtKmZaj6K0krvL/CzFfNUMKITiJpvBnG0EjeG2e0ymg1tuMoimyy3ChSJJrhQRR5lNUS5+SKCQzKB82Q8sqnEeXD/Iis2KOcVrBLttP8vi95p3c5P7Ffb1G25EAfyI7s4Ox0JV+EW1th3LST7ShUEXbXd0Js2exU/2aP8ppGA7crMr3QjGCpfIUQKz+hzP4hWS2cT/mSR6NaspETQetlTuxLPoHW44gpcc0YWdDd0QkR1P2SMwz2mD4e/PHeKZYLEwJ4HMt6RyWcCBMpYXM0SdowcmAlZYsqqfWumDjldVrEW8J+7drRl85o41B3YjxbDx1bOVHJ8WhSp5lMndpJzaMpDaKUdCZ4zK8DKD+iSV5tYzWJlUfTOGbGhEQiAi3cS1NBLDuxpCkEzaMZvbkbprl2LVqkyQP13KP39OZWuLnTU9oO9LNGf1anYjrYC9PpaeQv8Wna5SJF6frpGX5M4kHWAjKRLTbDlIMHb/0O0svXlhyF1wbY7u3zK6h91kTwpAH7G9AeT9UpCUyFmFWIVkBirWtZlsnVrBapyNR3Q5pWvqzTBIpyHBfHvoxx/V8zM5aYEr7fidOzIy49c+1LCNMcfJt1PZrXqcVyAXFmeU6nWZbv6zTH8gOd5lme1+kIS1unoyw/1GmB5Uc6HWN5QQuadN/BkIsw5AIOkDCEpQNDWF6CISwVDGG5CENYFmEIyyUYwvJjGMJyGYawvKxl1dRTSePamVgGbEJgYo4eucxF5WoquVRCu2hUakOeEm6VVBTPqn9loF488oY5sBZIl8iaXzHOlY9G5fjWFS1vGjtXwLHqbx+O9jnxUtaLhT8F/9XWVCW9Ys3Dk6vwG4aebCeqNql4dE2Xz1U9uv5fVFRYC/QbSIVYKMqybHBnIoSPOp2GaqCVQ8xszDy063XLmp/D/TcxQhZQ/fg3FBoL3INOWUlZ7eCs1dfbstw7g3I4EyxJMTfz+lb4IiOz0n6RWcqej3wecAWMSmXYagOtFbzZJzEPmd4kzwRxW1E2SNrYzgSJDRzzgHnznQQmYeqqDeRO4YYN+AVhbsF5J1yieqMsh+5F7PMopPxbp+JE9qhojMCz2Rthr+9Cym9xDCQ0+aV+DFQVoakYNRXQNFJuqAZfxtm6bULGDvQjKnbDsqziw8cW95WSbRmEfKSI1aOjn9Zeok6q3H5mFJfvnb4FwSA1MX9733RxkMq7WskyR20DU7calVPXmkPjVYfq5lH1vePsEzlrmm66Jx56X9Oq28HFXCyw9m0O0lImF9T1YYUNosvFpVDqZTRJ77gHGBYY0O9Qio3/q/rYfJ4rVYXRcSTfTtS30edgDPwP2H9H9QPQ92Pocg0uz/eaE59u9OFsma6iF+un6Dcwa625WboG3NB0A+IhR62OuMoNfKcGcXqkuRzpIeBj3RXiAcAmgMXgE921jOZTAKP5jDk+wOfMYdBkDoMt5jDYZs4awA5zGOwyh8Eecxh8wZx1gC+ZwyBkDoOIOQyeMCcAeMocBl8xh8HXzGHwDXPuA3zLHAYxcxgkzGGwr+nWMMwtXtBdoLZBVaADU09Y3MPiUFNlyP6OF4b9vUHM/sEgpv6o6faQ+hMvDPVng5j6i0FM/VXTnSH1N14Y6u8GMfUPg5j6TL8Yy2UGv4x8lwoHlF1sPufvifcP28VAuQABAAH//wAPeJw1kt9v21QUx8+59/pH2syrG8dO3SRL48YZyZamjptUYUvdsCRtiJooZKUPoxSpqhCgZerDqER4SQca0rSnCgU0iR+aKlTRSewFMU3iH9gbPCDxiniYEOKhvCCWcrMJ2+davvb36Hs+/oIEcPoOnaBtkGAczkIADJiGc7DslQJnz1AGWItOm1OGHpxUfVAhCAy6vARkwiYg0nURKT1DVwHGx3wy7yKpqioJRjqoGnRGzamJmeDMEgpSoiBIyIsWAlKAV4Pi381nf+Lt4R7K+Ik8vGNgLzR8cgHbF48qv1eNznLnU/wKh9/h2vCtX187uGpf/an9bhvd1Ser+Jkz/NHBx8rwA4W7gdNf6ID8BjLMQxWa8KZ3LZ2M+5hIsTaXILQCVKRdEAWxCwII3XHJR0FG5ONtjSEjhHX4jZENIIw0Vmo5B6Hxaq250lwqXS461Vwldd5UBcY1sl/Q0ujomhi33XxBD2qKYElifA7jGWHBLdh8z8jnHKOESxhFdPILbjKDYpq/R1ESg5qeo//LyXumbedte1iPuw2vnQrNRs9HZ0Opttdw43VZMa/dzrQ6qdKuaZrKcO/wKB+uD8IstlO8orvfHN57ocao23D59bS1W79ZXzQVgvwgirnIH3dbbOCNbfr9KZeJ3uDZP63eStb0+2UyoWXqvRaGXogBADnHp5zjz5CCild+KZmIEIEJU3pgglHm4y1pDfgG//+UdYESjpQg6Y6E2OFhgI1Rk4YWDqhxWxTMNB+Y80ErntRzTiGDSX20XkbdsDmq52veMfIFUcrTwWxx79/7X/aV2K2d0tbkmBMqd2azHfPzP8TrX+cvXdJKi6SXvxDq/3XYIS2yUmSi8vYVorHidjbzWJ4MrV0v+mNlW34+xz08oTGe5oteamT0BojcmghbAp+CYFsYAVpnyO3XLR5YNRCThOk0dypGMBe0VH4u5Li7lxFP7ir6w4dHg8HNjbvkVlTfORhW8dHB+mafMyOnJ6df0A9pBCKQBMeb8yNlBidFasC73+CfMApsi5sgtAOUjjJGSSOgJ8JBQZhKB3hgSjxPRpTD0s/hKBlzaCdFK24n7YKmOyW045I4bmS8bG+/l3UdORYOPrCq29axLleb5V7WW9v/oU8++v6VZXz/9W+9eceZdz++U5KDx9Z21XqgRSwn6x2/0e8/2i8vw386OLtVAAB4nGNgZGBgAOLdPo6T4/ltvjJwM78AijBcXX/5OYz+/+V/FvML5iAgl4OBCSQKAJyTD5UAeJxjYGRgYA76nwUkX/z/8v8/8wsGoAgKYAMAtaMHjgAD6AAAAxAAAAOYAAADmAAAAfQAAAN8//QAAAAAAGIBBgFqAaAB+gAAAAEAAAAGAFAABwAAAAAAAgAYACgAcwAAAHALcAAAAAB4nHWSy0oDMRSG/9hWsUUXCm7cZKO0CDNtQYSuKkW7cCF00Y2raZu5lOlkyKRCX8B38AF8LZ/Ff9LgZeEMyfnOfy45gQA4wycE9t8t154FWvT2fIAjjDw3qN97bpIfPbfQwZPnQ3pzz23c4MVzB+d4YwfRPKa3xrtngbZoeD7AqTjx3KB+6blJvvLcwoUIPR9Sf/Dcxlw8e+7gWnxMdLkzWZJa2Z305LA/uJOLndSUsiLKZbS1qTaVHMtYF1bluQ6WelNZFWczlWzzyDh221yZKtOFHAR9509VoUxk1aruWL0mQ2tjGRu9kY++lyyNXqulDVJry1EY/j4DE2iU2MEgQ4IUFhJdqj3aIfoY4I60YIZk5j4rQ4EIOZUIW1akLlLRH3PF9Aqqihk5OcCS+4bxWotZPaNNWJmz3vzSf2hOW0cy10tyioCz/MSntIXLiZy2+p6xwit7D6laZtbTGHe65AP5O5fkvevYmsqSeuBub6mOEPL/5x5fXEV433icbcHbCoAgDADQzWpG0EeqzAsGg7ny93votXPAweeAf4QOF1xxQ0IP57CQujys+ZJJpVm9o7fZzFj3HBJHkU6Dg6YK8AK1gBEsAAB4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGVidNjEwMmiBGJu5mBg5ICw+BjCLzWkX0wGgNCeQze60i8EBwmZmcNmowtgRGLHBoSNiI3OKy0Y1EG8XRwMDI4tDR3JIBEhJJBBs5mFi5NHawfi/dQNL70YmBhcADHYj9AAA') format('woff'), url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+IFXgAAABUAAAAFZjbWFwt4YnGQAAAagAAAHIY3Z0IAbV/wQAAAscAAAAIGZwZ22KkZBZAAALPAAAC3BnYXNwAAAAEAAACxQAAAAIZ2x5Zvus6kwAAANwAAAD9GhlYWQOWutvAAAHZAAAADZoaGVhBzEDWAAAB5wAAAAkaG10eBOY//QAAAfAAAAAGGxvY2EDxgKmAAAH2AAAAA5tYXhwAQkL6gAAB+gAAAAgbmFtZdQcUukAAAgIAAACqXBvc3T2BKiVAAAKtAAAAF5wcmVw5UErvAAAFqwAAACGAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAEDRAGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA9Q0DUv9qAFoDUgCWAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAF8AAEAAAAAAHYAAwABAAAALAADAAoAAAF8AAQASgAAAAwACAACAAToAPMA8wnzDPUN//8AAOgA8wDzCfMM9Q3//wAAAAAAAAAAAAAAAQAMAAwADAAMAAwAAAABAAIAAwAEAAUAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAEwAAAAAAAAABQAA6AAAAOgAAAAAAQAA8wAAAPMAAAAAAgAA8wkAAPMJAAAAAwAA8wwAAPMMAAAABAAA9Q0AAPUNAAAABQAHAAD/agMQA1IABwALAA8AEwAXABsAHwBBQD4TDw0DBAABRx4bGhkXFhUSEQkARQIBAAQAbwAEAAUBBAVeAAEBA1YGAQMDDQNJAAALCgkIAAcABxEREQcFFysVERcDIREzESUhFSE/AQUHJTcFBwE3BQcDNxMHEzcTB0wDAfVP/e4BiP54AQgBiQj+jBcBfBj+zCwBUi2qReZGF1RBVJYBoQH+sQFO/mHbU5RVJlXTUmtSATRJzEkBmTL+vzIBvA7+ew4ABAAA/9gDmALkAAgAMQBGAE8AX0BcKyciCQQGAwFHLyUCA0UAAwYDbwAGBQZvAAUABW8LBwkDAAgBAQQAAWAKAQQCAgRUCgEEBAJYAAIEAkxIRzMyAQBMS0dPSE8/Pj06MkYzRSooGhEFBAAIAQgMBRQrATIWFAYiJjQ2NxYVFA4FIwcGIi8BIi4FNTQ3JjY3Fhc2MzIXPgE/AR4BATI2NTQnLgEGKwEiLgEGBwYVFBYzAzIWFAYiJjQ2AmwaJiY2Jib+SiI0TEBSKhgkHigeJBgqUkBMNCJKCA4aXIguUFQqPnIaGhoO/nimqjYcSpgcBCBmOkQWNKimnBomJjYmJgEeNEw0NEw06lBySnZKOBoOAgEBAQECDho4SnZKclAEmEAKXgwMKjQEBkCY/fpQfEgwGgwMCAIQFC5KfFABGDRMNDRMNAAAAAEAAP/qA5gC1AAqAEVAQiknJR0CBQQFGRYTEAQDBAkBAQIDRwAFBAVvAAQDBG8AAwIDbwACAQJvAAEAAAFUAAEBAFgAAAEATBQcExEiJgYFGisBBgcVFA4BIyInFjMyNy4BJxYyNy4BPQEWFyY1NDcWFyY1NDYyFzY3Bgc2A5gkOnj8pKCCDiCEZj5gEgoyGEJUJDBUGprsBm6iNjw8FD44Anw2LBiC8KZUAlACSDoEBg5oRAIUBDpkMC68CBIYTm46DCBCJggAAQAA/5wB9AMgABMALUAqAAMCA3AABgAAAQYAYAUBAQICAVIFAQEBAlYEAQIBAkojERERERMgBwUbKwEjIgYdATMVIxEjESM1MzU0NjsBAfSODhaysqqYmHZYjgKEHhZmlP5GAbqUVl6CAAAAAv/0/58DfQMdAB0AJwAyQC8MAQMEFwECAwJHAAECAXAAAAAEAwAEYAADAgIDVAADAwJYAAIDAkwTFiUcFQUFGSsTJjY3PgEyFhceAQYHFh8BFhQGIi8BJicGIyImJyY3FBYyPgEmIgcGCxcuQDB8g3wwNDIIIBwVriNGZCOtFghGT0J8MEBOg7mCAoW3Q0EBd1esQDEyMjE0how+CBWtI2RGI64UHSMyMECtXYKCuoNCQQAAAQAAAAEAALtMQZNfDzz1AAsD6AAAAADVr9PnAAAAANWv0+f/9P9qA+gDUgAAAAgAAgAAAAAAAAABAAADUv9qAAAD6P/0//8D6AABAAAAAAAAAAAAAAAAAAAABgPoAAADEAAAA5gAAAOYAAAB9AAAA3z/9AAAAAAAYgEGAWoBoAH6AAAAAQAAAAYAUAAHAAAAAAACABgAKABzAAAAcAtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAUANQABAAAAAAACAAcAOgABAAAAAAADAAUAQQABAAAAAAAEAAUARgABAAAAAAAFAAsASwABAAAAAAAGAAUAVgABAAAAAAAKACsAWwABAAAAAAALABMAhgADAAEECQAAAGoAmQADAAEECQABAAoBAwADAAEECQACAA4BDQADAAEECQADAAoBGwADAAEECQAEAAoBJQADAAEECQAFABYBLwADAAEECQAGAAoBRQADAAEECQAKAFYBTwADAAEECQALACYBpUNvcHlyaWdodCAoQykgMjAxNyBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tc3RlZmlSZWd1bGFyc3RlZmlzdGVmaVZlcnNpb24gMS4wc3RlZmlHZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANwAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AcwB0AGUAZgBpAFIAZQBnAHUAbABhAHIAcwB0AGUAZgBpAHMAdABlAGYAaQBWAGUAcgBzAGkAbwBuACAAMQAuADAAcwB0AGUAZgBpAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAgEDAQQBBQEGAQcADXN0YWNrb3ZlcmZsb3cGZ2l0aHViB3R3aXR0ZXIIZmFjZWJvb2sGc2VhcmNoAAAAAAABAAH//wAPAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYA1L/agNS/2qwACwgsABVWEVZICBLuAAOUUuwBlNaWLA0G7AoWWBmIIpVWLACJWG5CAAIAGNjI2IbISGwAFmwAEMjRLIAAQBDYEItsAEssCBgZi2wAiwgZCCwwFCwBCZasigBCkNFY0VSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQpDRWNFYWSwKFBYIbEBCkNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ABK1lZI7AAUFhlWVktsAMsIEUgsAQlYWQgsAVDUFiwBSNCsAYjQhshIVmwAWAtsAQsIyEjISBksQViQiCwBiNCsQEKQ0VjsQEKQ7ABYEVjsAMqISCwBkMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZISCwQFNYsAErGyGwQFkjsABQWGVZLbAFLLAHQyuyAAIAQ2BCLbAGLLAHI0IjILAAI0JhsAJiZrABY7ABYLAFKi2wBywgIEUgsAtDY7gEAGIgsABQWLBAYFlmsAFjYESwAWAtsAgssgcLAENFQiohsgABAENgQi2wCSywAEMjRLIAAQBDYEItsAosICBFILABKyOwAEOwBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAssICBFILABKyOwAEOwBCVgIEWKI2EgZLAkUFiwABuwQFkjsABQWGVZsAMlI2FERLABYC2wDCwgsAAjQrILCgNFWCEbIyFZKiEtsA0ssQICRbBkYUQtsA4ssAFgICCwDENKsABQWCCwDCNCWbANQ0qwAFJYILANI0JZLbAPLCCwEGJmsAFjILgEAGOKI2GwDkNgIIpgILAOI0IjLbAQLEtUWLEEZERZJLANZSN4LbARLEtRWEtTWLEEZERZGyFZJLATZSN4LbASLLEAD0NVWLEPD0OwAWFCsA8rWbAAQ7ACJUKxDAIlQrENAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAOKiEjsAFhIIojYbAOKiEbsQEAQ2CwAiVCsAIlYbAOKiFZsAxDR7ANQ0dgsAJiILAAUFiwQGBZZrABYyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wEywAsQACRVRYsA8jQiBFsAsjQrAKI7ABYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wFCyxABMrLbAVLLEBEystsBYssQITKy2wFyyxAxMrLbAYLLEEEystsBkssQUTKy2wGiyxBhMrLbAbLLEHEystsBwssQgTKy2wHSyxCRMrLbAeLACwDSuxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAfLLEAHistsCAssQEeKy2wISyxAh4rLbAiLLEDHistsCMssQQeKy2wJCyxBR4rLbAlLLEGHistsCYssQceKy2wJyyxCB4rLbAoLLEJHistsCksIDywAWAtsCosIGCwEGAgQyOwAWBDsAIlYbABYLApKiEtsCsssCorsCoqLbAsLCAgRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOCMgilVYIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgbIVktsC0sALEAAkVUWLABFrAsKrABFTAbIlktsC4sALANK7EAAkVUWLABFrAsKrABFTAbIlktsC8sIDWwAWAtsDAsALABRWO4BABiILAAUFiwQGBZZrABY7ABK7ALQ2O4BABiILAAUFiwQGBZZrABY7ABK7AAFrQAAAAAAEQ+IzixLwEVKi2wMSwgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhOC2wMiwuFzwtsDMsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYbABQ2M4LbA0LLECABYlIC4gR7AAI0KwAiVJiopHI0cjYSBYYhshWbABI0KyMwEBFRQqLbA1LLAAFrAEJbAEJUcjRyNhsAlDK2WKLiMgIDyKOC2wNiywABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyCwCEMgiiNHI0cjYSNGYLAEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBENgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA3LLAAFiAgILAFJiAuRyNHI2EjPDgtsDgssAAWILAII0IgICBGI0ewASsjYTgtsDkssAAWsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA6LLAAFiCwCEMgLkcjRyNhIGCwIGBmsAJiILAAUFiwQGBZZrABYyMgIDyKOC2wOywjIC5GsAIlRlJYIDxZLrErARQrLbA8LCMgLkawAiVGUFggPFkusSsBFCstsD0sIyAuRrACJUZSWCA8WSMgLkawAiVGUFggPFkusSsBFCstsD4ssDUrIyAuRrACJUZSWCA8WS6xKwEUKy2wPyywNiuKICA8sAQjQoo4IyAuRrACJUZSWCA8WS6xKwEUK7AEQy6wKystsEAssAAWsAQlsAQmIC5HI0cjYbAJQysjIDwgLiM4sSsBFCstsEEssQgEJUKwABawBCWwBCUgLkcjRyNhILAEI0KwCUMrILBgUFggsEBRWLMCIAMgG7MCJgMaWUJCIyBHsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxKwEUKy2wQiywNSsusSsBFCstsEMssDYrISMgIDywBCNCIzixKwEUK7AEQy6wKystsEQssAAVIEewACNCsgABARUUEy6wMSotsEUssAAVIEewACNCsgABARUUEy6wMSotsEYssQABFBOwMiotsEcssDQqLbBILLAAFkUjIC4gRoojYTixKwEUKy2wSSywCCNCsEgrLbBKLLIAAEErLbBLLLIAAUErLbBMLLIBAEErLbBNLLIBAUErLbBOLLIAAEIrLbBPLLIAAUIrLbBQLLIBAEIrLbBRLLIBAUIrLbBSLLIAAD4rLbBTLLIAAT4rLbBULLIBAD4rLbBVLLIBAT4rLbBWLLIAAEArLbBXLLIAAUArLbBYLLIBAEArLbBZLLIBAUArLbBaLLIAAEMrLbBbLLIAAUMrLbBcLLIBAEMrLbBdLLIBAUMrLbBeLLIAAD8rLbBfLLIAAT8rLbBgLLIBAD8rLbBhLLIBAT8rLbBiLLA3Ky6xKwEUKy2wYyywNyuwOystsGQssDcrsDwrLbBlLLAAFrA3K7A9Ky2wZiywOCsusSsBFCstsGcssDgrsDsrLbBoLLA4K7A8Ky2waSywOCuwPSstsGossDkrLrErARQrLbBrLLA5K7A7Ky2wbCywOSuwPCstsG0ssDkrsD0rLbBuLLA6Ky6xKwEUKy2wbyywOiuwOystsHAssDorsDwrLbBxLLA6K7A9Ky2wciyzCQQCA0VYIRsjIVlCK7AIZbADJFB4sAEVMC0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAVCsgABACqxAAVCswoCAQgqsQAFQrMOAAEIKrEABkK6AsAAAQAJKrEAB0K6AEAAAQAJKrEDAESxJAGIUViwQIhYsQNkRLEmAYhRWLoIgAABBECIY1RYsQMARFlZWVmzDAIBDCq4Af+FsASNsQIARAAA') format('truetype'); 6 $$ src url("data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAmwAAsAAAAADtQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIwleU9TLzIAAAFEAAAAPwAAAFZHIFdiY21hcAAAAYQAAACNAAACNPKDNX5nbHlmAAACFAAABUUAAAeI96/LamhlYWQAAAdcAAAALgAAADYOSvaJaGhlYQAAB4wAAAAYAAAAJAe5A/lobXR4AAAHpAAAABAAAABAOpgAAGxvY2EAAAe0AAAAIgAAACIO6A0+bWF4cAAAB9gAAAAfAAAAIAEgAHFuYW1lAAAH+AAAAR0AAAHyFNvC+HBvc3QAAAkYAAAAlgAAANpA8Cu0eJxjYGRgYOBiMGCwY2DKSSzJY+BzcfMJYZBiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCAClZBUgAeJxjYGRexTiBgZWBgaWQaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOHxk/MjP/ALIjQKTQI0gAgDqDgsYAHic7ZHZDQMhDEQfC3sfNJIaUlC+UmQaooKNh0kZsfQ88mAQsoERyMEjKJDeJBSvcFP3M1v3C8/eU+S3et+Rk3LUpecheku8ODGzsMa9nYOTixrHE/84ev78qqoJmj7TwSDNRrtpxWjKbTTaW5sM0tkgXQzS1SDdjPbZdoP0MPpdOw3SyyCthvoF+AonBQAAAHicbVVdbBRVFL7n3t2Z/Zu/3dmZ0pZOu+3uSru7053uT2igja3ZFIrBblUMMUEaA00oFehCNGqwJAglxr8EeDCpMT6ID8qLj5QH8QH/EhNJfDFBIDHxQTQBEjTO6rmzU2qa7mTPPffce785P989Q4Dgj5l0kSQJSVQcC6oVx9BFQQEhZUMmmyndVgf0a9f0gW5VOjKvFtT5I5JKX9K0K1e01KAqzc1q2uycpA4SD4suMpNjgaErYBq6kMpmEKc0ChVE3ugcEzZ4AYdq4a0gns7xzCKHFEQhxdHQsYoD3yS/81FSLVwm6D/5EN0+KlmNccXzi4flYVQr6BMGbKCXG/oAr2wQ5CO/btKHpPP/eL5Pfga94On3mqOdPq05vfFz5+K9q/rSUhxoPH7xIjctL3PTmo7Qnr+fs8tEIpvxDVgEEcQqDBYr2QyIBciOIrj/sPl83pTck0N3MfOi5J6akre0a22Spm0yLEkAXJcE5p68O0QXFSPv7tA29ctTJg2EJaM7pUXJ6vt+YHUyQMYJKWulylCPY2wGLF5mO5QyvT0pIanpBlorOK+01tCaSVcrJaxuStAtwE18i4jSyVlw38opuqJEmrEISriPUldyVjNm5ZhzQRQvhHRFnHO/5au0PCcq+mX6nJXLWde5xRPupUfqdVz5GI+ELuDG0CGEOoTn/Vqw8+w8eREnKRHpkdTNLswPeipkM/zxaIyiWhkq8pRxUa1U0VgucTkKjpfKimMiR3GXaSCOkdS5NHmsRnUEq1oucTS4f3T/vurWdN+puiJ1d5iaEgkFWTgWioht0WCkIxkNtvW3dwWTz+S3DYhAZTEcUxNtncX5YmdbQo2FRZmCOLA996wkhmV5erEvvbW6bz87z+XRvfXdxzupFKmJARoJxcKRkKFGRUEVGE1GIv2MxtKJcMaZG7NVo68PaCAUTchyIhoKUOjrM1R7bM5JR6LxZMexiEQ7j++u7/Xc5WkKeLy9y5YIIyKJEkxfYkjrBf/P9X9rNfi0VmveqdXeq9XYkvsQ3m0egXfdafqZO81T7eX7CvsFub+V7MWce/UXzS6aREqkCmADJ4Ph4OVqrSm+oZot0DJSy+kCC9d0v8OUqtnW6N9GXTS9kT2lNNSCZrJooNsIyQozEuqCklfrSvNlVHJaXVm3wYzDPbteOFNYKBSLg2cLDbs1sx3H5jN43MQTcYMpcsi0AlFmaAWloShTKnxoqAuqUldyakNBRFkOG1Ygwkyt+fZ4YcoeXLDPDBaLdsN+s1Av2I3C2dZs9e6cYidJB3mMkHTWZ4nHRJ3TyqmaXjIyUBoBjF2XAbPEDq/k8wMTk5cmalv6ufLJjqtyVraloLtreKYxO4Li4OidlR17np6cGMj3b6lNXPKUqzJu6oETwzPDowcbM8Mjs6264h3YQwQSI+1ez4gCUtbEW2pDwpMF4PfaopAts/f/+eKdYCIMrDPx1T33tqn+Gpbj0l8xEH6mN5oHIP1bSGTu8/FYZAbealqaHDoWNKI0LkWDr+nN+vzfqzyYpn8giyyCicDr7wWMPQJ7AnasdXPwx17fzkruGwkhGBQS1B/Xzd3D6xZoRok4vBeguL6mQm5NJ5gB7tcY+8BneIKYWBmSLg9pPdpQchSCYroaFBn/J0QG5Z4k/XHS3TdZV2FebX7ZDdPWAxu6Bw/c3Haz+TucWL7VvAG5Ww92PrnTHV8ehyeG/xyGj5o38pB3X52cXPseFNk4UXm3FkRq6l38c4dEKGG/aOuiEEjZKAFoio1BV3tz1+tmCscXrn6900wR8h/eu034AAAAeJxjYGRgYABi36Vs0vH8Nl8ZuJlfAEUYrq6LeIRMM19gfgCkOBiYQDwALpoK5QAAeJxjYGRgYH7BwAAnLzAwMqACAQBDggK8eJxjYGBgYH5BPgYAq1cNxgAAAAAAJgBOAHIAmgDKAQIBYAH2AhgCoALiAxwDaAOiA8QAAHicY2BkYGAQYEhlYGMAASYg5gJCBob/YD4DABRhAZIAeJxdjr1OwzAUhU/6h2gQAiExm6ULUvoz9gHamQ7Z08RJWyVx5LiVKjEz8xTMPAXPxYl7JSps6fo75x5fG8ADfhCgWwGGvnarhxuqC/dJd8ID8qPwECGehUdUL8JjvGIiHOIJb5wQDG7pjJEJ93CPWrhP/114QP4QHnL6p/CI/pfwGDG+hUNMgtE+NXW70cWxTKxnX2Jt272p1Tyaeb3WtbaJ05nanlV7KhbO5Sq3plIrUztdlkY11hx06qKdc81yOs3Fj1JTYY8Uhn9usYFGgSNKJLBX/h/FTFjvdFphjgizq/6a/dpnEjieGTNbnFlbnDh7Qdchp86ZMahIK3+3S5fchk7jewc6Kf0IO3+rwRJT7vxfPvKvV78w9VNiAAAAeJxti1sOgjAUBXuxoFZAXEgXVUopN/Rh+gDdvRiCX87PZJJzSEF2GPlPBwWcgEIJFZzhAldgcIMaGmjhDh08SC0ntQTv+OBX9wujxtQcEVBPiR2Vn6UMPkaqBkxMvTDtg0pjmnL/VVKBGnRzZ4V2OL7Raa6NiLGy2ylbapXLbUxCztwvKozGr/XmhFIY3otAyAcEfzfnAAA=") format("woff") 7 < [class*="icon-"] 8 line-height 1 9 < [class*="icon-"]:before 10 font-family icons !important 11 font-style normal 12 font-weight normal !important 13 $foreach icon in iconDefs 14 . ${icon.name}:before 15 content "\${icon.code}"
/src/ittf/jobs/ittf__copy/site/site/t/css/logo.css.ittf
1 $group 2 $include defs 3 . logo-w 4 font-size 38px 5 font-weight 700 6 color #fefffe 7 . logo-i1 8 font-size 18px 9 font-weight 700 10 color #fefeff 11 . logo-z1 12 font-size 24px 13 font-weight 700 14 color #ffefef 15 . logo-z2 16 font-size 34px 17 font-weight 700 18 color #fefeff 19 . logo-i2 20 font-size 42px 21 font-weight 700 22 color #fefffe 23 . logo-f 24 font-size 34px 25 font-weight 700 26 color #fefefe 27 . logo-a 28 font-size 24px 29 font-weight 700 30 color #ffffef 31 . logo-c 32 font-size 20px 33 font-weight 700 34 color #fefeff 35 . logo-t 36 font-size 32px 37 font-weight 700 38 color #fefeff 39 . logo-o 40 font-size 18px 41 font-weight 700 42 color #fffefe 43 . logo-r 44 font-size 40px 45 font-weight 700 46 color #feffff 47 . logo-y 48 font-size 24px 49 font-weight 700 50 color #feffef
/src/ittf/jobs/ittf__copy/site/site/t/css/modal.css.ittf
1 $group 2 . modal 3 display none 4 position fixed 5 z-index 1 6 left 0 7 top 0 8 width 100% 9 height 100% 10 overflow auto 11 background-color rgb(0,0,0) 12 background-color rgba(0,0,0,0.4) 13 . modal-content 14 background-color #fefefe 15 margin 15% auto 16 padding 20px 17 border 1px solid #888 18 width 80% 19 . modal-close 20 color #aaa 21 float right 22 font-size 28px 23 font-weight bold 24 . modal-close:hover 25 + .modal-close:focus 26 color black 27 text-decoration none 28 cursor pointer
/src/ittf/jobs/ittf__copy/site/site/t/css/navigation-search.css.ittf
1 $group 2 media (min-width: 768px) 3 . navigation__search 4 -webkit-box-flex 0 5 -ms-flex 0 0 auto 6 flex 0 0 auto 7 display -webkit-box 8 display -ms-flexbox 9 display flex 10 -webkit-box-pack end 11 -ms-flex-pack end 12 justify-content flex-end 13 padding 0.8em 0 14 . navigation__search-input 15 padding 0 16 border none 17 background transparent 18 width 0 19 font-size 14px 20 text-indent 0.5em 21 border-bottom 1px solid #465E69 22 margin-right 0 23 color #ffffff 24 text-shadow 0 0 0 #f2f2f2 25 -webkit-transition all 250ms 26 transition all 250ms 27 . navigation__search-input::-webkit-input-placeholder 28 color #5a7988 29 text-shadow none 30 -webkit-text-fill-color initial 31 . navigation__search-icon 32 font-size 1em 33 padding 0 34 border none 35 cursor pointer 36 color #dedede 37 background transparent 38 -webkit-transition color 250ms 39 transition color 250ms 40 . navigation__search-icon.icon-cross 41 display none 42 . navigation__search-icon:hover 43 color #8DD6F9 44 . navigation__search-input:focus 45 + .navigation__search-icon:focus 46 outline none 47 . navigation__icon 48 display block 49 margin-left 1em 50 color #ffffff 51 . navigation__icon:hover 52 color #8DD6F9 53 . navigation__languages 54 margin-left 1em 55 margin-top -4px 56 media (min-width: 768px) 57 . navigation--search-mode .navigation__link 58 pointer-events none 59 overflow hidden 60 white-space nowrap 61 padding 1.5em 0 62 margin-right -35px 63 opacity 0 64 . navigation--search-mode .navigation__search-input 65 margin-right 0.5em 66 width 400px 67 . navigation--search-mode .navigation__search-icon.icon-cross 68 display block 69 . navigation--search-mode .navigation__search-icon.icon-magnifying-glass 70 display none
/src/ittf/jobs/ittf__copy/site/site/t/css/navigation.css.ittf
1 $group 2 $include defs 3 . navigation 4 -webkit-box-flex 0 5 -ms-flex 0 0 auto 6 flex 0 0 auto 7 -webkit-transition background 250ms 8 transition background 250ms 9 background ${color3} $$ #2B3A42 10 . navigation__inner 11 display -webkit-box 12 display -ms-flexbox 13 display flex 14 -webkit-box-align center 15 -ms-flex-align center 16 align-items center 17 position relative 18 padding 0.6em 1em 19 media (min-width: 768px) 20 . navigation__inner 21 padding 0 1.5em 22 . navigation__logo 23 margin auto 24 . navigation__links 25 display none 26 media (min-width: 768px) 27 . navigation__links 28 -webkit-box-flex 1 29 -ms-flex 1 1 auto 30 flex 1 1 auto 31 display -webkit-box 32 display -ms-flexbox 33 display flex 34 -webkit-box-align center 35 -ms-flex-align center 36 align-items center 37 -webkit-box-pack end 38 -ms-flex-pack end 39 justify-content flex-end 40 media (min-width: 768px) 41 . navigation__link 42 display inline-block 43 font-size ${navLinkFontSize}px 44 $if navLinkUCase 45 text-transform uppercase 46 color #ffffff 47 -webkit-transition all 250ms 48 transition all 250ms 49 padding 1.5em 0.75em 50 . navigation__link:last-child 51 margin-right 0.75em 52 media (min-width: 1024px) 53 . navigation__link 54 padding 1.5em 55 . navigation__link:hover 56 color ${color14} $$ #8DD6F9 57 . navigation__link--active 58 color ${color0} 59 background ${color14} $$ #354851 60 font-weight 700 61 . navigation__link--active:hover 62 color ${color0} 63 background ${color14} $$ #354851 64 font-weight 700 65 . navigation__search 66 display none 67 . navigation__icon 68 display none 69 . navigation__bottom 70 display none 71 background ${color14} $$ #354851 72 media (min-width: 768px) 73 . navigation__bottom 74 display block 75 . navigation__child 76 font-size ${navChildFontSize}px 77 padding 0.5em 1em 0.6em 78 color ${color0} $$ #dedede 79 font-weight 500 80 $if navChildUCase 81 text-transform uppercase 82 . navigation__child:first-of-type 83 margin-left 0 84 . navigation__child:hover 85 color #ffffff $$ #8DD6F9 86 . navigation__child--active 87 color #ffffff 88 background ${color13} $$ #ffffff 89 font-weight 700 90 . navigation__child--active:hover 91 color #ffffff 92 font-weight 700
/src/ittf/jobs/ittf__copy/site/site/t/css/prettyprint.css.ittf
1 $group 2 . pln 3 color #F1F2F3 4 media screen 5 . pp-ln 6 color #999 7 . pp-pln 8 color #BBB 9 . pp-str 10 color #EC7600 $$ string content 11 . pp-kwd 12 color #f79256 $$ a keyword 13 . pp-com 14 color #66747B $$ a comment 15 . pp-typ 16 color #678CB1 $$ a type name 17 . pp-lit 18 color #FACD22 $$ a literal value 19 . pp-mix 20 color #ff0040 $$ mixin call 21 cursor pointer 22 . pp-tag 23 color #8AC763 $$ a markup tag name 24 . pp-atn 25 color #E0E2E4 $$ a markup attribute name 26 . pp-atv 27 color #EC7600 $$ a markup attribute value 28 . pp-expr 29 color #f3e877 $$ a declaration; a variable name 30 . pp-fun 31 color red $$ a function name 32 . pp-arg 33 color yellow $$ a mixin arg 34 < pre 35 margin 0 36 < pre.prettyprint 37 padding 0px 0px 20px 0px 38 border 0px solid #888 39 font-size 1.1em 40 overflow auto 41 . prettyprint 42 background #2B3A42 43 < div.L0, div.L1, div.L2, div.L3, div.L4, div.L5, div.L6, div.L7, div.L8, div.L9 44 color #777 45 margin 0 46 padding-left 5px 47 list-style-type decimal 48 # Alternate shading for lines 49 < div.L1, div.L3, div.L5, div.L7, div.L9 50 background #444 51 . prettyprint-js 52 background #fff 53 # Alternate shading for lines 54 < div.J1, div.J3, div.J5, div.J7, div.J9 55 background #ddd
/src/ittf/jobs/ittf__copy/site/site/t/css/reset_OLD.css.ittf
1 $group 2 $include defs 3 font-face 4 font-family 'Geomanist' 5 src url(/1ebd0482aadade65f20ec178219fe012.woff2) format("woff2"), url(/314bbcd238d458622bbf32427346774f.woff) format("woff") 6 font-weight 600 7 font-style normal 8 < html 9 + body 10 + div 11 + span 12 + applet 13 + object 14 + iframe 15 + h1 16 + h2 17 + h3 18 + h4 19 + h5 20 + h6 21 + p 22 + blockquote 23 + a 24 + abbr 25 + acronym 26 + address 27 + big 28 + cite 29 + code 30 + del 31 + dfn 32 + em 33 + img 34 + ins 35 + kbd 36 + q 37 + s 38 + samp 39 + small 40 + strike 41 + strong 42 + sub 43 + sup 44 + tt 45 + var 46 + b 47 + u 48 + i 49 + center 50 + dl 51 + dt 52 + dd 53 + ol 54 + ul 55 + li 56 + fieldset 57 + form 58 + label 59 + legend 60 + table 61 + caption 62 + tbody 63 + tfoot 64 + thead 65 + tr 66 + th 67 + td 68 + article 69 + aside 70 + canvas 71 + details 72 + embed 73 + figure 74 + figcaption 75 + footer 76 + header 77 + hgroup 78 + menu 79 + nav 80 + output 81 + ruby 82 + section 83 + summary 84 + time 85 + mark 86 + audio 87 + video 88 border 0 89 font-size 100% 90 font inherit 91 vertical-align baseline 92 margin 0 93 padding 0 94 < blockquote 95 + q 96 quotes none 97 < blockquote:before 98 + blockquote:after 99 + q:before 100 + q:after 101 content none 102 < body 103 font 400 16px "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif 104 color ${color20} $$ #2B3A42 105 -webkit-font-smoothing antialiased 106 -moz-osx-font-smoothing grayscale
/src/ittf/jobs/ittf__copy/site/site/t/css/reset-box-sizing.css.ittf
1 $group 2 - https://css-tricks.com/box-sizing/ 3 < html 4 box-sizing border-box 5 < * 6 + *:before 7 + *:after 8 box-sizing inherit
/src/ittf/jobs/ittf__copy/site/site/t/css/reset.css.ittf
1 $group 2 < body 3 margin 0 4 padding 0 5 font-family roboto, verdana, tahoma, arial 6 font-size 95% 7 line-height 1 8 < p img 9 border none 10 display block 11 margin 0 auto 12 < article 13 + aside 14 + details 15 + figcaption 16 + figure 17 + footer 18 + header 19 + hgroup 20 + menu 21 + nav 22 + section 23 display block 24 < table 25 border-collapse collapse 26 border-spacing 0
/src/ittf/jobs/ittf__copy/site/site/t/css/sidebar.css.ittf
1 $group 2 . sidebar 3 display none 4 width 100% 5 max-height 100% 6 overflow auto 7 @ will-change transform 8 media (min-width: 768px) 9 . sidebar 10 display block 11 . sidebar__inner 12 padding 1.5em 13 overflow hidden 14 . sidebar-item 15 position relative 16 display -webkit-box 17 display -ms-flexbox 18 display flex 19 -ms-flex-wrap wrap 20 flex-wrap wrap 21 font-size 15px 22 margin 0.6em 0 23 . sidebar-item__toggle 24 -webkit-box-flex 0 25 -ms-flex 0 0 auto 26 flex 0 0 auto 27 margin-top 0.125em 28 margin-right 0.5em 29 cursor pointer 30 color #1D78C1 31 -webkit-transition all 250ms 32 transition all 250ms 33 . sidebar-item__toggle:hover 34 color #333333 35 . sidebar-item__title 36 -webkit-box-flex 1 37 -ms-flex 1 1 auto 38 flex 1 1 auto 39 font-weight 600 40 color #666666 41 max-width 85% 42 overflow hidden 43 white-space nowrap 44 text-overflow ellipsis 45 . sidebar-item__anchors 46 position relative 47 display none 48 -webkit-box-flex 0 49 -ms-flex 0 0 100% 50 flex 0 0 100% 51 -ms-flex-wrap wrap 52 flex-wrap wrap 53 margin 0.35em 0 54 padding-left 1.5em 55 overflow hidden 56 list-style none 57 . sidebar-item__anchors:before 58 content '' 59 position absolute 60 height calc(100% - 0.6em) 61 top 0 62 left 1.5em 63 border-left 1px dashed #999999 64 . sidebar-item__anchor 65 position relative 66 -webkit-box-flex 0 67 -ms-flex 0 0 100% 68 flex 0 0 100% 69 margin 0.25em 0 70 padding-left 1em 71 overflow hidden 72 white-space nowrap 73 text-overflow ellipsis 74 . sidebar-item__anchor:first-child 75 margin-top 0 76 . sidebar-item__anchor:last-child 77 margin-bottom 0 78 . sidebar-item__anchor:before 79 content '' 80 position absolute 81 width 0.5em 82 left 0 83 top 60% 84 border-bottom 1px dashed #999999 85 . sidebar-item__anchor a 86 color #535353 87 . sidebar-item__anchor a:hover 88 color #1D78C1 89 . sidebar-item--open .sidebar-item__anchors 90 display -webkit-box 91 display -ms-flexbox 92 display flex 93 . sidebar-item--open .sidebar-item__toggle 94 -webkit-transform-origin center center 95 transform-origin center center 96 -webkit-transform rotate(90deg) 97 transform rotate(90deg) 98 . sidebar-item--disabled .sidebar-item__toggle 99 color #AAA
/src/ittf/jobs/ittf__copy/site/site/t/css/site.css.ittf
1 $group 2 . site 3 display -webkit-box 4 display -ms-flexbox 5 display flex 6 -webkit-box-orient vertical 7 -webkit-box-direction normal 8 -ms-flex-direction column 9 flex-direction column 10 min-height 100vh 11 overflow hidden 12 . site.nav-displayed 13 height 100vh
/src/ittf/jobs/ittf__copy/site/site/t/css/tabs.css.ittf
1 $group 2 . wz-ui-tabs-container 3 clear both 4 float left 5 width 100% 6 overflow hidden 7 . wz-ui-tabs 8 padding 0 9 margin 0 auto 10 list-style-type none 11 float left 12 position relative 13 left 50% 14 height 70px 15 . wz-ui-tabs li 16 float left 17 position relative 18 right 50% 19 . wz-ui-tabs li a 20 width auto 21 display block 22 padding 4px 16px 23 color #fff 24 background #aaa 25 border 1px solid #fff 26 text-decoration none 27 cursor pointer 28 . wz-ui-tabs .wz-ui-selected 29 background #000 30 . wz-ui-tabs .wz-ui-unselected li a:hover 31 color #000 32 background #d4d4d4 33 . wz-ui-page 34 clear both
/src/ittf/jobs/ittf__copy/site/site/t/css/toc.css.ittf
1 $group 2 . toc 3 list-style none 4 margin-bottom 20px 5 . toc li 6 overflow hidden 7 padding-bottom 2px 8 . toc a 9 text-decoration none 10 display inline-block 11 color #666 12 position relative 13 bottom -4px 14 . toc a:hover 15 color #000
/src/ittf/jobs/ittf__copy/site/site/t/css/treeview.css.ittf
1 $group 2 . treeview 3 + .treeview * 4 padding 0 5 margin 0 6 list-style none 7 . treeview label[for]::before 8 + .treeview label span::before 9 content "\25b6" 10 display inline-block 11 margin 2px 0 0 12 width 13px 13 height 13px 14 vertical-align top 15 text-align center 16 color #e74c3c 17 font-size 10px 18 line-height 13px 19 . treeview li ul 20 margin 0 0 0 11px 21 . treeview * 22 vertical-align middle 23 . treeview 24 font normal 13px/16px "Segoe UI", Arial, Sans-serif 25 . treeview li 26 -webkit-user-select none 27 -moz-user-select none 28 user-select none 29 . treeview input[type="checkbox"] 30 display none 31 . treeview label 32 cursor pointer 33 . treeview label[for]::before 34 -webkit-transform translatex(-12px) 35 -moz-transform translatex(-12px) 36 -ms-transform translatex(-12px) 37 -o-transform translatex(-12px) 38 transform translatex(-12px) 39 . treeview label span::before 40 -webkit-transform translatex(8px) 41 -moz-transform translatex(8px) 42 -ms-transform translatex(8px) 43 -o-transform translatex(8px) 44 transform translatex(8px) 45 . treeview input[type="checkbox"][id]:checked ~ label[for]::before 46 content "\25bc" 47 . treeview input[type="checkbox"][id]:not(:checked) ~ ul 48 display none 49 . treeview label:not([for]) 50 margin 0 4px 0 0 51 . treeview label span::before 52 content "" 53 border solid 1px #1375b3 54 color #1375b3 55 opacity .50 56 . treeview label input:checked + span::before 57 content "\2714" 58 box-shadow 0 0 2px rgba(0, 0, 0, .25) inset 59 opacity 1
/src/ittf/jobs/ittf__copy/site/site/t/css/tv.css.ittf
1 $group 2 . wz-ui-tv-container 3 clear both 4 width 100% 5 overflow hidden 6 border 1px solid #000 7 background #000 8 color #ddd 9 . wz-ui-tv-documents 10 padding 0 11 margin 0 auto 12 list-style-type none 13 position relative 14 . wz-ui-tv-documents img 15 width 14px 16 height 14px 17 vertical-align middle 18 . wz-ui-tv-document-selected 19 color #f00
/src/ittf/jobs/ittf__copy/site/site/t/css/wfschema.css.ittf
1 $group 2 . wfschema-a-table 3 width 100% 4 . wfschema-a-table tr 5 border-top 1px solid #ccc 6 . wfschema-a-table td 7 vertical-align top 8 . wfschema-comment 9 background-color #ffffe6 10 margin 2px 11 padding 8px 12 border-top 1px solid #ffffd5 13 . wfschema-label 14 font-size 0.8em 15 font-weight bold 16 padding-right 3px 17 . wfschema-e-panel 18 border-top 10px solid #eee 19 padding-top 15px 20 margin-top 20px 21 margin-bottom 40px 22 . wfschema-e-name 23 font-size 2em 24 font-weight bold 25 padding-right 6px 26 . wfschema-e-tag 27 . wfschema-e-super 28 . wfschema-e-flags
/src/ittf/jobs/ittf__copy/site/site/t/js/controls/tabcontrol.js.ittf
1 $group 2 class wzuiTabControl 3 ctor 4 param element 5 set this.element = wzui.element(element) 6 set this.tabs = [] 7 set this.defaultTab = null 8 m initialize 9 if this.tabs.length === 0 10 return 11 set this.defaultTab = this.defaultTab || this.tabs[0].element 12 foreach tab in this.tabs 13 if tab.element === this.defaultTab 14 set tab.page.style.display = 'block' 15 _ wzui.addClass(tab.element, 'wz-ui-selected') 16 _ wzui.removeClass(tab.element, 'wz-ui-unselected') 17 else 18 set tab.page.style.display = 'none' 19 _ wzui.removeClass(tab.element, 'wz-ui-selected') 20 _ wzui.addClass(tab.element, 'wz-ui-unselected') 21 m setDefaultTab 22 param element 23 set this.defaultTab = wzui.element(element) 24 m addTab 25 param element 26 set element = wzui.element(element) 27 var pageId = element.getAttribute("data-tab-page") 28 log 'pageId', pageId 29 var pageElement = document.getElementById(pageId) 30 log 'pageElement', pageElement 31 _ wzui.click 32 @ element 33 @ wzuiTabControl.createClickHandler(this) 34 _ this.tabs.push 35 { 36 @ element element 37 @ page pageElement 38 set wzuiTabControl.createClickHandler 39 function 40 param tabControl 41 return 42 function 43 foreach tab in tabControl.tabs 44 if tab.element === this 45 set tab.page.style.display = 'block' 46 _ wzui.addClass(tab.element, 'wz-ui-selected') 47 _ wzui.removeClass(tab.element, 'wz-ui-unselected') 48 else 49 set tab.page.style.display = 'none' 50 _ wzui.removeClass(tab.element, 'wz-ui-selected') 51 _ wzui.addClass(tab.element, 'wz-ui-unselected')
/src/ittf/jobs/ittf__copy/site/site/t/js/controls/tvdocuments.js.ittf
1 $group 2 class wzuiTvDocumentsControl 3 ctor 4 param element 5 set this.element = wzui.element(element) 6 set this.documents = [] 7 set this.defaultDocument = null 8 set this.activeDocumentTitleElement = null 9 m initialize 10 if this.documents.length === 0 11 return 12 set this.defaultDocument = this.defaultDocument || this.documents[0].element 13 foreach doc in this.documents 14 if doc.element === this.defaultDocument 15 set doc.page.style.display = 'block' 16 _ wzui.addClass(doc.element, 'wz-ui-tv-document-selected') 17 if this.activeDocumentTitleElement 18 var docPath = doc.element.getAttribute("data-doc-path") 19 _ wzui.text(this.activeDocumentTitleElement, docPath) 20 else 21 set doc.page.style.display = 'none' 22 _ wzui.removeClass(doc.element, 'wz-ui-tv-document-selected') 23 m setDefaultDocument 24 param element 25 set this.defaultDocument = wzui.element(element) 26 m setActiveDocumentTitleElement 27 param element 28 set this.activeDocumentTitleElement = wzui.element(element) 29 m addDocument 30 param element 31 set element = wzui.element(element) 32 var pageId = element.getAttribute("data-tab-page") 33 log 'pageId', pageId 34 var pageElement = document.getElementById(pageId) 35 log 'pageElement', pageElement 36 _ wzui.click 37 @ element 38 @ wzuiTvDocumentsControl.createClickHandler(this) 39 _ this.documents.push 40 { 41 @ element element 42 @ page pageElement 43 set wzuiTvDocumentsControl.createClickHandler 44 function 45 param tvDocumentsControl 46 return 47 function 48 foreach doc in tvDocumentsControl.documents 49 if doc.element === this 50 set doc.page.style.display = 'block' 51 _ wzui.addClass(doc.element, 'wz-ui-tv-document-selected') 52 if tvDocumentsControl.activeDocumentTitleElement 53 var docPath = doc.element.getAttribute("data-doc-path") 54 log 'docPath', docPath 55 _ wzui.text(tvDocumentsControl.activeDocumentTitleElement, docPath) 56 else 57 set doc.page.style.display = 'none' 58 _ wzui.removeClass(doc.element, 'wz-ui-tv-document-selected')
/src/ittf/jobs/ittf__copy/site/site/t/js/clickHandler.js.ittf
1 $group 2 function setupClickHandler 3 param ctx 4 _ wzui.click 5 @ wzui.element('#wrapper') 6 @ create_wrapperClickHandler(ctx) 7 function create_wrapperClickHandler 8 param ctx 9 return 10 function wrapperClickHandler 11 param event 12 log 'wrapperClickHandler.target', event.target, event.target.dataset 13 log 'has class frag-to-link-a', wzui.hasClass(event.target, 'frag-to-link-a') 14 if wzui.hasClass(event.target, 'frag-to-link-a') 15 log 'href', event.target.href 16 _ ctx.modalManager.pushFragment 17 @ event.target.dataset.fragId 18 _ event.preventDefault() 19 _ event.stopPropagation() 20 else 21 if ctx.modalManager.checkClick(event.target) 22 _ event.preventDefault() 23 _ event.stopPropagation()
/src/ittf/jobs/ittf__copy/site/site/t/js/element.js.ittf
1 $group 2 $params wzui 3 var rclass = /[\n\t\r]/g 4 var rnotwhite = (/\S+/g) 5 set ${wzui}.element 6 function 7 param element 8 return typeof element === 'string' ? document.getElementById(element) : element 9 set ${wzui}.hasClass 10 function 11 param element 12 param selector 13 if (" " + element.className + " ").replace(rclass, " ").indexOf(" " + selector + " ") > -1 14 return true 15 return false 16 set ${wzui}.addClass 17 function 18 param element 19 param value 20 var classes, cur, finalValue 21 if value && typeof value === "string" 22 set classes = ( value || "" ).match( rnotwhite ) || [] 23 if !element.className && classes.length === 1 24 set element.className = value 25 else 26 set cur = " " + element.className + " " 27 foreach clazz in classes 28 if cur.indexOf( " " + clazz + " " ) < 0 29 set cur += clazz + " " 30 set finalValue = cur.trim() 31 if element.className !== finalValue 32 set element.className = finalValue 33 set ${wzui}.removeClass 34 function 35 param element 36 param value 37 var classes, cur, finalValue 38 if value && typeof value === "string" 39 set classes = ( value || "" ).match( rnotwhite ) || [] 40 set cur = element.className ? ( " " + element.className + " " ).replace( rclass, " " ) : "" 41 foreach clazz in classes 42 while cur.indexOf( " " + clazz + " " ) >= 0 43 set cur = cur.replace( " " + clazz + " ", " " ) 44 set finalValue = cur.trim() 45 if element.className !== finalValue 46 set element.className = finalValue 47 set ${wzui}.text 48 function 49 param element 50 param value 51 if typeof value === 'undefined' 52 return element.textContent 53 elif element.textContent !== value 54 set element.textContent = value
/src/ittf/jobs/ittf__copy/site/site/t/js/modal.js.ittf
1 $group 2 function modalSetup 3 param ctx 4 set ctx.fragModal = wzui.element('#frag-modal') 5 # log 'ctx.fragModal', ctx.fragModal 6 set ctx.fragModalClose = wzui.element('#frag-modal .modal-close') 7 # log 'ctx.fragModalClose', ctx.fragModalClose 8 set ctx.fragModalContent = wzui.element('#frag-modal-content') 9 set ctx.fragModalClose.onclick 10 function 11 set ctx.fragModal.style.display = "none" 12 set window.onclick 13 function 14 param event 15 if event.target == ctx.fragModal 16 set ctx.fragModal.style.display = "none" 17 class ModalManager 18 ctor 19 param ctx 20 set this.ctx = ctx 21 set this.currentContent = null 22 set this.currentContentOriginalParent = null 23 set this.modalStack = [] 24 m setup 25 var that = this 26 set this.fragModal = wzui.element('#frag-modal') 27 # log 'this.fragModal', this.fragModal 28 set this.fragModalClose = wzui.element('#frag-modal .modal-close') 29 # log 'this.fragModalClose', this.fragModalClose 30 set this.fragModalContent = wzui.element('#frag-modal-content') 31 set this.fragModalClose.onclick 32 function 33 _ that.popFragment 34 set window.onclick 35 function 36 param event 37 if event.target == this.fragModal 38 _ that.popFragment 39 m checkClick 40 param target 41 if target == this.fragModal 42 # close all 43 while this.modalStack.length > 0 44 _ this.popFragment() 45 return true 46 else 47 return false 48 m pushFragment 49 param fragmentId 50 _ this.resetFragment 51 var fragContentOriginalParent 52 _ wzui.element 53 @ '#' + fragmentId 54 log 'fragContentOriginalParent', fragContentOriginalParent 55 var fragContent 56 _ wzui.element 57 @ '#' + fragmentId + ' div:first-of-type' 58 log 'fragContent', fragContent 59 set this.fragModal.style.display = "block" 60 _ this.fragModalContent.appendChild 61 @ fragContent 62 _ this.modalStack.push 63 { 64 @ content fragContent 65 @ contentOriginalParent fragContentOriginalParent 66 set this.currentContent = fragContent 67 set this.currentContentOriginalParent = fragContentOriginalParent 68 m popFragment 69 _ this.resetFragment 70 _ this.modalStack.pop() 71 if this.modalStack.length > 0 72 var modalContent = this.modalStack[this.modalStack.length-1] 73 _ this.fragModalContent.appendChild 74 @ modalContent.content 75 set this.currentContent = modalContent.content 76 set this.currentContentOriginalParent = modalContent.contentOriginalParent 77 if this.modalStack.length == 0 78 set this.fragModal.style.display = "none" 79 m resetFragment 80 if this.currentContent != null 81 _ this.currentContentOriginalParent.appendChild 82 @ this.currentContent 83 set this.currentContent = null 84 set this.currentContentOriginalParent = null
/src/ittf/jobs/ittf__copy/site/site/t/js/wzui-events.js.ittf
1 $group 2 iife () 3 if document.addEventListener 4 set window.addEvent = 5 function 6 param elem 7 param type 8 param handler 9 param useCapture 10 _ elem.addEventListener(type, handler, !(!(useCapture))) 11 return handler 12 set window.removeEvent = 13 function 14 param elem 15 param type 16 param handler 17 param useCapture 18 _ elem.removeEventListener(type, handler, !(!(useCapture))) 19 return true 20 elif document.attachEvent 21 set window.addEvent = 22 function 23 param elem 24 param type 25 param handler 26 set type = ("on" + type) 27 var boundedHandler 28 function 29 return handler.apply(elem, arguments) 30 _ elem.attachEvent(type, boundedHandler) 31 return boundedHandler 32 set window.removeEvent = 33 function 34 param elem 35 param type 36 param handler 37 set type = ("on" + type) 38 _ elem.detachEvent(type, handler) 39 return true
/src/ittf/jobs/ittf__copy/site/site/t/js/wzui.js.ittf
1 $group 2 iife () 3 var wzui = window.wzui = {} 4 var rclass = /[\n\t\r]/g 5 var rnotwhite = (/\S+/g) 6 set wzui.element 7 function 8 param element 9 return typeof element === 'string' ? document.querySelector(element) : element 10 set wzui.hasClass 11 function 12 param element 13 param selector 14 if (" " + element.className + " ").replace(rclass, " ").indexOf(" " + selector + " ") > -1 15 return true 16 return false 17 set wzui.addClass 18 function 19 param element 20 param value 21 var classes, cur, finalValue 22 if value && typeof value === "string" 23 set classes = ( value || "" ).match( rnotwhite ) || [] 24 if !element.className && classes.length === 1 25 set element.className = value 26 else 27 set cur = " " + element.className + " " 28 foreach clazz in classes 29 if cur.indexOf( " " + clazz + " " ) < 0 30 set cur += clazz + " " 31 set finalValue = cur.trim() 32 if element.className !== finalValue 33 set element.className = finalValue 34 set wzui.removeClass 35 function 36 param element 37 param value 38 var classes, cur, finalValue 39 if value && typeof value === "string" 40 set classes = ( value || "" ).match( rnotwhite ) || [] 41 set cur = element.className ? ( " " + element.className + " " ).replace( rclass, " " ) : "" 42 foreach clazz in classes 43 while cur.indexOf( " " + clazz + " " ) >= 0 44 set cur = cur.replace( " " + clazz + " ", " " ) 45 set finalValue = cur.trim() 46 if element.className !== finalValue 47 set element.className = finalValue 48 set wzui.text 49 function 50 param element 51 param value 52 if typeof value === 'undefined' 53 return element.textContent 54 elif element.textContent !== value 55 set element.textContent = value 56 set wzui.click 57 function 58 param element 59 param handler 60 param useCapture 61 _ window.addEvent 62 @ wzui.element(element) 63 @ 'click' 64 @ handler 65 @ useCapture 66 set wzui.contentLoaded 67 function 68 param fn 69 # from Diego Perini https://raw.githubusercontent.com/dperini/ContentLoaded/master/src/contentloaded.js 70 var 71 decl done = false 72 decl top = true 73 decl doc = window.document 74 decl root = doc.documentElement 75 decl modern = doc.addEventListener 76 decl add = modern ? 'addEventListener' : 'attachEvent' 77 decl rem = modern ? 'removeEventListener' : 'detachEvent' 78 decl pre = modern ? '' : 'on' 79 decl init 80 function 81 param e 82 if (e.type == 'readystatechange') && (doc.readyState != 'complete') 83 return 84 _ (e.type == 'load' ? window : doc)[rem]((pre + e.type), init, false) 85 if !(done) && (done = true) 86 _ fn.call(window, (e.type || e)) 87 decl poll 88 function 89 try 90 _ root.doScroll('left') 91 catch e 92 _ setTimeout(poll, 50) 93 return 94 _ init('poll') 95 if doc.readyState == 'complete' 96 _ fn.call(window, 'lazy') 97 else 98 if !(modern) && root.doScroll 99 try 100 set top = ! (window.frameElement) 101 catch e 102 if top 103 _ poll() 104 _ doc[add]((pre + 'DOMContentLoaded'), init, false) 105 _ doc[add]((pre + 'readystatechange'), init, false) 106 _ window[add]((pre + 'load'), init, false)
/src/ittf/jobs/ittf__copy/site/site/t/defs.css.ittf
1 $group 2 $ 3 var iconDefs = [ 4 { name: 'icon-chevron-down', code: 'F101'}, 5 { name: 'icon-chevron-left', code: 'F102'}, 6 { name: 'icon-chevron-right', code: 'F103'}, 7 { name: 'icon-chevron-up', code: 'F104'}, 8 { name: 'icon-chevron-cross', code: 'F105'}, 9 { name: 'icon-edit', code: 'F106'}, 10 { name: 'icon-exit-right', code: 'F107'}, 11 { name: 'icon-github-old', code: 'F108'}, 12 { name: 'icon-github', code: 'f300'}, 13 { name: 'icon-gitter', code: 'F109'}, 14 { name: 'icon-link', code: 'F10A'}, 15 { name: 'icon-link', code: 'F10A'}, 16 { name: 'icon-magnifying-glass', code: 'F10B'}, 17 { name: 'icon-medium', code: 'F10C'}, 18 { name: 'icon-menu', code: 'F10D'}, 19 { name: 'icon-stack-overflow', code: 'F10E'}, 20 { name: 'icon-stackoverflow', code: 'e800'}, 21 { name: 'icon-vertical-bar', code: 'F10F'}, 22 { name: 'icon-twitter', code: 'f309'}, 23 { name: 'icon-facebook', code: 'f30c'}, 24 { name: 'icon-search', code: 'f50d'} 25 ]; 26 // http://paletton.com/#uid=33s0u0kllllqQfZo5iFiAo1fQqH 27 var color0 = '#103C51'; 28 var color1 = '#1B485E'; 29 var color2 = '#27556C'; 30 var color3 = '#366379'; 31 var color4 = '#477287'; 32 var color5 = '#375277'; 33 var color10 = '#7F6215'; 34 var color11 = '#957625'; 35 var color12 = '#AA8B39'; 36 var color13 = '#BFA150'; 37 var color14 = '#D5B86B'; 38 var color20 = '#7F2B15'; 39 var color21 = '#953C25'; 40 var color22 = '#AA5039'; 41 var color23 = '#BF6750'; 42 var color24 = '#D5816B'; 43 var navLinkUCase = true; 44 var navChildUCase = false; 45 var navLinkFontSize = 14; 46 var navChildFontSize = 15; 47 var logoWord = ['w', 'i', 'z', 'z', 'i', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'y']; 48 var logoClass = ['w', 'i1', 'z1', 'z2', 'i2', 'blank', 'f', 'a', 'c', 't', 'o', 'r', 'y'];
/src/ittf/jobs/ittf__copy/site/site/api-styles.css.ittf
1 css 2 . main-content p 3 + .main-content blockquote 4 + .main-content table 5 + .main-content pre 6 + .splash__section p 7 + .splash__section blockquote 8 + .splash__section table 9 + .splash__section pre 10 margin 0 11 $include css/api
/src/ittf/jobs/ittf__copy/site/site/wizzifactory.css.ittf
1 css 2 $include css/reset-box-sizing 3 $include css/reset 4 $include css/frame 5 $include css/header 6 $include css/toc 7 $include css/site 8 $include css/logo 9 $$ $include css/container 10 $include css/navigation 11 $include css/navigation-search 12 $include css/sidebar 13 $include css/tabs 14 $include css/tv 15 $include css/treeview 16 $include css/code 17 $include css/prettyprint 18 $include css/modal 19 $include css/gridSystem_float 20 $include css/wfschema
/src/ittf/jobs/ittf__copy/site/site/wizzifactory.js.ittf
1 module 2 kind jsfile 3 js/wzui-events() 4 js/wzui() 5 js/controls/tabcontrol() 6 js/controls/tvdocuments() 7 $include js/clickHandler 8 $include js/modal 9 _ wzui.contentLoaded 10 function 11 var ctx 12 { 13 @ tabControls [] 14 @ currentTabControl null 15 @ documentControls [] 16 @ currentDocumentControl null 17 _ setup (document.documentElement, ctx) 18 foreach tabControl in ctx.tabControls 19 _ tabControl.initialize() 20 foreach documentControl in ctx.documentControls 21 _ documentControl.initialize() 22 set ctx.modalManager = new ModalManager() 23 _ ctx.modalManager.setup() 24 _ setupClickHandler(ctx) 25 function setup 26 param node 27 param ctx 28 if node.nodeType != 1 29 return 30 if wzui.hasClass(node, 'wz-ui-tabs') 31 var tabControl = new wzuiTabControl(node) 32 _ ctx.tabControls.push(tabControl) 33 set ctx.currentTabControl = tabControl 34 elif wzui.hasClass(node, 'wz-ui-tab') 35 _ ctx.currentTabControl.addTab(node) 36 elif wzui.hasClass(node, 'wz-ui-tv-documents') 37 var documentControl = new wzuiTvDocumentsControl(node) 38 var active_document_title_id = node.getAttribute('data-active-document-title-id') 39 log 'active_document_title_id', active_document_title_id 40 _ documentControl.setActiveDocumentTitleElement(active_document_title_id) 41 _ ctx.documentControls.push(documentControl) 42 set ctx.currentDocumentControl = documentControl 43 elif wzui.hasClass(node, 'wz-ui-tv-document') 44 _ ctx.currentDocumentControl.addDocument(node) 45 if wzui.hasClass(node, 'wz-ui-tv-document-selected') 46 _ ctx.currentDocumentControl.setDefaultDocument(node) 47 foreach child in node.childNodes 48 _ setup(child, ctx)
/src/ittf/jobs/ittf__copy/site/site.wfjob.ittf
1 wfjob documentation 2 $ 3 var site_folder = path.join(__dirname, 'site'); 4 var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 5 line site 6 cwd-folder ${site_folder} 7 wfjob/any_js() 8 wfjob/any_css() 9 wfjob/any_plain_css() 10 wfjob/any_plain_svg() 11 wfjob/any_plain_jpg() 12 production 13 dest-folder ${dest_folder} 14 line-ref site
/src/ittf/jobs/ittf__copy/t/html/t/nav_child_compile.html.ittf
1 $group 2 $params name, href, title|@@null 3 $ 4 var xtitle = title == 'null' ? name : title; 5 $if gcurrentSubPage == name 6 a ${xtitle} 7 class navigation__child navigation__child--active 8 title ${href} ittf source code 9 href ${href}.html 10 $else 11 a ${xtitle} 12 class navigation__child 13 title ${href} ittf source code 14 href ${href}.html
/src/ittf/jobs/ittf__copy/t/html/t/nav_child.html.ittf
1 $group 2 $params name, href, title|@@null 3 $ 4 var xtitle = title == null ? name : title; 5 $if gcurrentSubPage == name 6 a ${xtitle} 7 class navigation__child navigation__child--active 8 title ${href} ittf source code 9 href ${href}.html 10 $else 11 a ${xtitle} 12 class navigation__child 13 title ${href} ittf source code 14 href ${href}.html
/src/ittf/jobs/ittf__copy/t/html/t/nav_link_compile.html.ittf
1 $group 2 $params name, href, title, titleShort|@@null 3 $ 4 title = title == null ? name : title; 5 var xtitle = titleShort == 'null' ? title : titleShort; 6 $if gcurrentPage == name 7 a ${title} 8 title ${gcurrentPage} ${name} 9 href ${href}.html 10 class navigation__link navigation__link--active 11 $else 12 a ${xtitle} 13 title ${gcurrentPage} ${name} 14 href ${href}.html 15 class navigation__link
/src/ittf/jobs/ittf__copy/t/html/t/nav_link.html.ittf
1 $group 2 $params name, href, title, titleShort|@@null 3 $ 4 title = title == null ? name : title; 5 var xtitle = titleShort == null ? title : titleShort; 6 $if gcurrentPage == name 7 a ${title} 8 title ${gcurrentPage} ${name} 9 href ${href}.html 10 class navigation__link navigation__link--active 11 $else 12 a ${xtitle} 13 title ${gcurrentPage} ${name} 14 href ${href}.html 15 class navigation__link
/src/ittf/jobs/ittf__copy/t/html/layout_compile.html.ittf
1 $group 2 $global 3 var gcurrentPage = currentPage; 4 var gcurrentSubPage = currentSubPage; 5 head 6 @title The Wizzi Factory 7 css https://fonts.googleapis.com/css?family=Roboto 8 $if currentSubPage == null 9 css sanitize.css 10 css wizzifactory.css 11 $else 12 css ../sanitize.css 13 css ../wizzifactory.css 14 $hook styles 15 body 16 $if currentSubPage == null 17 class ${currentPage} 18 $else 19 class ${currentPage}-${currentSubPage} 20 . site 21 navigation( isCompile ) 22 main 23 id wrapper 24 $hook 25 $if currentSubPage == null 26 js jquery-3.2.1.js 27 js wizzifactory.js 28 $else 29 js ../jquery-3.2.1.js 30 js ../wizzifactory.js
/src/ittf/jobs/ittf__copy/t/html/layout.html.ittf
1 html 2 $params currentPage, currentSubPage|@@null 3 $global 4 var gcurrentPage = currentPage; 5 var gcurrentSubPage = currentSubPage; 6 head 7 @title The Wizzi Factory 8 css https://fonts.googleapis.com/css?family=Roboto 9 $if currentSubPage == null 10 css sanitize.css 11 css wizzifactory.css 12 $else 13 css ../sanitize.css 14 css ../wizzifactory.css 15 $hook styles 16 body 17 $if currentSubPage == null 18 class ${currentPage} 19 $else 20 class ${currentPage}-${currentSubPage} 21 . site 22 navigation( none ) 23 main 24 id wrapper 25 $hook 26 js jquery-3.2.1.js 27 $if currentSubPage == null 28 js wizzifactory.js 29 $else 30 js ../wizzifactory.js
/src/ittf/jobs/ittf__copy/t/html/logo.html.ittf
1 $group 2 . logo 3 span W 4 class logo-w 5 span i 6 class logo-i1 7 span z 8 class logo-z1 9 span z 10 class logo-z2 11 span i 12 class logo-i2 13 span 14 span f 15 class logo-f 16 span a 17 class logo-a 18 span c 19 class logo-c 20 span t 21 class logo-t 22 span o 23 class logo-o 24 span r 25 class logo-r 26 span y 27 class logo-y
/src/ittf/jobs/ittf__copy/t/html/nav_sidebar.html.ittf
1 $group 2 nav 3 class main-sidebar-left 4 $if gcurrentSubPage == null 5 style max-height: 648px; position: fixed; top: 60px; width: 380px; 6 $else 7 style max-height: 648px; position: fixed; top: 90px; width: 380px; 8 img 9 $if gcurrentSubPage == null 10 src workinprogress.jpg 11 $else 12 src ../workinprogress.jpg 13 $hook
/src/ittf/jobs/ittf__copy/t/html/navigation.html.ittf
1 $group 2 $params kind 3 $* 4 https://github.com/algolia/autocomplete.js/ 5 classes 6 navigation 7 navigation__logo 8 logo 9 navigation__links 10 navigation__link [--active] 11 algolia-autocomplete 12 navigation__search-input 13 ds-input 14 ds-dropdown-menu 15 icon-magnifying-glass 16 icon-cross 17 navigation__icon 18 sidecar__icon 19 icon-github 20 icon-stack-overflow 21 dropdown__language 22 dropdown__arrow 23 *$ 24 header 25 class navigation 26 . container navigation__inner 27 $include ./logo 28 nav 29 class navigation__links 30 $if gcurrentSubPage == null 31 $if kind === 'isCompile' 32 nav_link_compile( concepts, concepts, Concepts ) 33 nav_link_compile( docs, docs/intro, Docs, Docs ) 34 nav_link_compile( api, api, Api ) 35 nav_link_compile( code, code/intro, Code ) 36 nav_link_compile( starters, starters, Starters ) 37 nav_link_compile( project, project, Project ) 38 $else 39 nav_link( concepts, concepts, Concepts ) 40 nav_link( docs, docs/intro, Docs, Docs ) 41 nav_link( api, api, Api ) 42 nav_link( code, code/intro, Code ) 43 nav_link( starters, starters, Starters ) 44 nav_link( project, project, Project ) 45 $else 46 $if kind === 'isCompile' 47 nav_link_compile( concepts, ../concepts, Concepts ) 48 nav_link_compile( docs, ../docs/intro, Docs, Docs ) 49 nav_link_compile( api, ../api, Api ) 50 nav_link_compile( code, ../code/intro, Code ) 51 nav_link_compile( starters, ../starters, Starters ) 52 nav_link_compile( project, ../project, Project ) 53 $else 54 nav_link( concepts, ../concepts, Concepts ) 55 nav_link( docs, ../docs/intro, Docs, Docs ) 56 nav_link( api, ../api, Api ) 57 nav_link( code, ../code/intro, Code ) 58 nav_link( starters, ../starters, Starters ) 59 nav_link( project, ../project, Project ) 60 . navigation__search 61 span 62 class algolia-autocomplete 63 style position: relative; display: inline-block; direction: ltr; 64 input 65 type text 66 class navigation__search-input ds-input 67 placeholder Search documentation… 68 autocomplete off 69 spellcheck false 70 role combobox 71 aria-autocomplete list 72 aria-expanded false 73 aria-owns algolia-autocomplete-listbox-0 74 dir auto 75 style position: relative; vertical-align: top; 76 pre 77 aria-hidden true 78 style position: absolute; visibility: hidden; white-space: pre; font-family: Arial; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; word-spacing: 0px; letter-spacing: normal; text-indent: 7px; text-rendering: auto; text-transform: none; 79 span 80 class ds-dropdown-menu 81 role listbox 82 id algolia-autocomplete-listbox-0 83 style position: absolute; top: 100%; z-index: 100; display: none; left: 0px; right: auto; 84 . ds-dataset-1 85 button 86 $$ class navigation__search-icon icon-magnifying-glass 87 class navigation__search-icon icon-search 88 button 89 class navigation__search-icon icon-cross 90 a 91 href https://github.com/wizzifactory 92 target _blank 93 class navigation__icon 94 title GitHub Repository 95 i 96 class sidecar__icon icon-github 97 a 98 href https://stackoverflow.com/questions/tagged/wizzifactory 99 target _blank 100 class navigation__icon 101 title See Questions on Stack Overflow 102 i 103 class sidecar__icon icon-stackoverflow 104 a 105 href # 106 target _blank 107 class navigation__icon 108 title Follow on twitter 109 i 110 class sidecar__icon icon-twitter 111 a 112 href # 113 target _blank 114 class navigation__icon 115 title Follow on facebook 116 i 117 class sidecar__icon icon-facebook 118 $* 119 . dropdown navigation__languages 120 tabindex 0 121 img 122 class dropdown__language 123 alt select language 124 src /ffb234d54a64f189d1e4f4d643cb8bb6.svg 125 i 126 class dropdown__arrow 127 . dropdown__list 128 ul 129 li 130 a 131 href # 132 span English 133 li 134 a 135 href # 136 span Italian 137 *$ 138 $if gcurrentPage == 'code' 139 . navigation__bottom 140 . container navigation__inner 141 nav_child_compile( intro, intro ) 142 nav_child_compile( wizzi, wizzi ) 143 nav_child_compile( wizzi-mtree, wizzi-mtree, mtree ) 144 nav_child_compile( wizzi-repo, wizzi-repo, repo ) 145 nav_child_compile( wizzi-utils, wizzi-utils, utils ) 146 nav_child_compile( wizzi-core, wizzi-core, core ) 147 nav_child_compile( wizzi-meta, wizzi-meta, meta ) 148 nav_child_compile( wizzi-docs, wizzi-docs, docs ) 149 nav_child_compile( wizzi-documentation, wizzi-documentation, docu ) 150 nav_child_compile( wizzi-demo, wizzi-demo, demo ) 151 $if gcurrentPage == 'docs' 152 . navigation__bottom 153 . container navigation__inner 154 nav_child( intro, intro ) 155 nav_child( ittf, ittf ) 156 nav_child( jswizzi, jswizzi ) 157 nav_child( models, models ) 158 nav_child( artifacts, artifacts ) 159 nav_child( jobs, jobs ) 160 nav_child( plugins, plugins ) 161 nav_child( wfschema, wfschema ) 162 nav_child( wfjob, wfjob ) 163 nav_child( wfpackage, wfpackage )
/src/ittf/jobs/ittf__copy/t/wfjob/any_css.wfjob.ittf
1 $group 2 artifact any_css 3 src ./**/*.css.ittf 4 schema css 5 generator css/document 6 extension css
/src/ittf/jobs/ittf__copy/t/wfjob/any_gitignore.wfjob.ittf
1 $group 2 artifact any_gitignore 3 src ./**/.gitignore
/src/ittf/jobs/ittf__copy/t/wfjob/any_html.wfjob.ittf
1 $group 2 artifact any_html 3 src ./**/*.html.ittf 4 schema html 5 generator html/document 6 extension html
/src/ittf/jobs/ittf__copy/t/wfjob/any_js.wfjob.ittf
1 $group 2 artifact any_js 3 src ./**/*.js.ittf 4 schema js 5 generator js/module 6 extension js 7 $hook
/src/ittf/jobs/ittf__copy/t/wfjob/any_json.wfjob.ittf
1 $group 2 artifact any_json 3 src ./**/*.json.ittf 4 schema ittf 5 generator json/document 6 extension json
/src/ittf/jobs/ittf__copy/t/wfjob/any_jsx.wfjob.ittf
1 $group 2 artifact any_jsx 3 src ./**/*.jsx.ittf 4 schema js 5 generator js/module 6 extension jsx
/src/ittf/jobs/ittf__copy/t/wfjob/any_less.wfjob.ittf
1 $group 2 artifact any_less 3 src ./**/*.less 4 extension less
/src/ittf/jobs/ittf__copy/t/wfjob/any_md.wfjob.ittf
1 $group 2 artifact any_md 3 src ./**/*.md.ittf 4 schema md 5 generator md/document 6 extension md 7 $hook
/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_css.wfjob.ittf
1 $group 2 artifact any_plain_css 3 src ./**/*.css 4 extension css
/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_jpg.wfjob.ittf
1 $group 2 artifact any_plain_jpg 3 src ./**/*.jpg 4 extension jpg
/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_js.wfjob.ittf
1 $group 2 artifact any_plain_js 3 src ./**/*.js 4 extension js
/src/ittf/jobs/ittf__copy/t/wfjob/any_plain_svg.wfjob.ittf
1 $group 2 artifact any_plain_svg 3 src ./**/*.svg 4 extension svg
/src/ittf/jobs/ittf__copy/t/wfjob/any_plain.wfjob.ittf
1 $group 2 artifact any_plain 3 src ./**/*.*
/src/ittf/jobs/ittf__copy/t/wfjob/any_tests_ittf.wfjob.ittf
1 $group 2 artifact any_tests_ittf 3 src ./**/*.tests.ittf 4 extension ittf
/src/ittf/jobs/ittf__copy/t/wfjob/any_wfjob_ittf.wfjob.ittf
1 $group 2 artifact any_tests_ittf 3 src ./**/*.wfjob.ittf 4 extension ittf
/src/ittf/jobs/ittf__copy/t/wfjob/any_wfjob.wfjob.ittf
1 $group 2 artifact any_wfjob 3 src ./**/*.wfjob.ittf 4 schema wfjob 5 is-wf-job true
/src/ittf/jobs/ittf__copy/t/wfjob/art-final.wfjob.ittf
1 artifact ${name} 2 $params name, destname|@@null 3 src ${name} 4 $if destname 5 dest-path ${destname}
/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-css.wfjob.ittf
1 artifact ${name} 2 $params name, destname|@@null, models|@@null 3 src ${name} 4 $if destname 5 dest-path ${destname} 6 generator css/document 7 schema css 8 extension css 9 $ var ms = models ? models.trim().split(',') : [] 10 $foreach m in ms 11 model-ref ${m}
/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-html.wfjob.ittf
1 artifact ${name} 2 $params name, destname|@@null, models|@@null 3 src ${name} 4 $if destname 5 dest-path ${destname} 6 generator html/document 7 schema html 8 extension html 9 $ var ms = models ? models.trim().split(',') : [] 10 $foreach m in ms 11 model-ref ${m}
/src/ittf/jobs/ittf__copy/t/wfjob/art-wo-js.wfjob.ittf
1 artifact ${name} 2 $params name, destname|@@null, models|@@null 3 src ${name} 4 $if destname 5 dest-path ${destname} 6 generator js/module 7 schema js 8 extension js 9 $ var ms = models ? models.trim().split(',') : [] 10 $foreach m in ms 11 model-ref ${m}
/src/ittf/jobs/ittf__copy/t/wfjob/spa_babelrc.wfjob.ittf
1 $group 2 $params spaittfuri 3 artifact spa babelrc 4 src ${spaittfuri} 5 schema spa 6 generator spa/babelrc 7 dest-path .babelrc 8 extension babelrc
/src/ittf/jobs/ittf__copy/t/wfjob/spa_gulp.wfjob.ittf
1 $group 2 $params spaittfuri 3 artifact spa gulp 4 src ${spaittfuri} 5 schema spa 6 generator spa/gulp 7 dest-path gulpfile.js 8 extension js
/src/ittf/jobs/ittf__copy/t/wfjob/spa_package.wfjob.ittf
1 $group 2 $params spaittfuri 3 artifact spa package 4 src ${spaittfuri} 5 schema spa 6 generator spa/package 7 dest-path package.json 8 extension json
/src/ittf/jobs/ittf__copy/t/wfjob/spa_webpack.wfjob.ittf
1 $group 2 $params spaittfuri 3 artifact spa webpack 4 src ${spaittfuri} 5 schema spa 6 generator spa/webpack 7 dest-path webpack.config.js 8 extension js
/src/ittf/jobs/t/wfjob-execute.js.ittf
1 module 2 $params project, section 3 kind jsfile 4 + 5 var path = require('path') 6 var wizzi = require('wizzi'); 7 # 8 # begin params 9 var $name = '${project} - ${section}' 10 # 11 # end params 12 _ wizzi.executeWizziJob 13 { 14 @ user 'stefi' 15 @ role 'admin' 16 @ storeKind 'filesystem' 17 @ config 18 { 19 @ wfBaseFolder 'c:\my\wizzi\v5\test' 20 @ plugins 21 [ 22 @ 'wizzi-core' 23 @ 'wizzi-meta' 24 @ 'wizzi-js' 25 @ 'wizzi-html' 26 @ 'wizzi-docs' 27 @ job 28 { 29 @ name $name 30 @ ittfDocumentUri 31 _ path.join 32 @ __dirname 33 @ 'ittf' 34 @ '${project}' 35 @ '${section}.wfjob.ittf' 36 @ productionOptions 37 _ wizzi.productionOptions 38 { 39 @ indentSpaces 4 40 @ basedir __dirname 41 @ verbose 2 42 @ dumps 43 { 44 @ dumpsBaseFolder 45 _ path.join 46 @ __dirname 47 @ '_debug_dumps' 48 @ mTreeBuildupJsWizziCode 49 { 50 @ dump true 51 @ globalContext {} 52 function 53 param err 54 if err 55 log "Error executing wizzi instance job", err
/src/ittf/jobs/_old_site.js.ittf
1 module 2 kind jsfile 3 + 4 var path = require('path') 5 var wizzi = require('wizzi'); 6 # 7 # begin params 8 var $name = 'site' 9 # 10 # end params 11 _ wizzi.executeWizziJob 12 { 13 @ user 'stefi' 14 @ role 'admin' 15 @ storeKind 'filesystem' 16 @ config 17 { 18 @ wfBaseFolder 'c:\my\wizzi\v5\test' 19 @ plugins 20 [ 21 @ 'wizzi-js' 22 @ 'wizzi-html' 23 @ 'wizzi-docs' 24 @ job 25 { 26 @ name $name 27 @ ittfDocumentUri 28 _ path.join 29 @ __dirname 30 @ 'ittf' 31 @ 'wizzi-docs' 32 @ 'site.wfjob.ittf' 33 @ productionOptions 34 _ wizzi.productionOptions 35 { 36 @ indentSpaces 4 37 @ basedir __dirname 38 @ verbose 2 39 @ globalContext {} 40 function 41 param err 42 if err 43 log "Error executing wizzi instance job", err
/src/ittf/jobs/api_preprocess.js.ittf
1 wfjob-execute( api, api_preprocess )
/src/ittf/jobs/api.js.ittf
1 wfjob-execute( api, api )
/src/ittf/jobs/code_intro.js.ittf
1 wfjob-execute( docs, code_intro )
/src/ittf/jobs/code_preprocess.js.ittf
1 wfjob-execute( code, code_preprocess )
/src/ittf/jobs/code.js.ittf
1 wfjob-execute( code, code )
/src/ittf/jobs/concepts.js.ittf
1 wfjob-execute( docs, concepts )
/src/ittf/jobs/contribs.js.ittf
1 wfjob-execute( docs, contribs )
/src/ittf/jobs/docs.js.ittf
1 wfjob-execute( docs, docs )
/src/ittf/jobs/index.js.ittf
1 wfjob-execute( docs, index )
/src/ittf/jobs/labs.js.ittf
1 wfjob-execute( docs, labs )
/src/ittf/jobs/project.js.ittf
1 wfjob-execute( docs, project )
/src/ittf/jobs/schemas.js.ittf
1 wfjob-execute( docs, schemas )
/src/ittf/jobs/site.js.ittf
1 wfjob-execute( site, site )
/src/ittf/jobs/spa.js.ittf
1 wfjob-execute( docs, spa )
/src/ittf/jobs/specs.js.ittf
1 wfjob-execute( docs, specs )
/src/ittf/jobs/starters.js.ittf
1 wfjob-execute( docs, starters )
/src/ittf/meta/index.json.ittf
1 { 2 name 'wizzi-documentation' 3 version '0.4.1' 4 title 'Wizzi factory documentation' 5 license 'MIT' 6 [ schemas 7 name 'wizzi-documentation' 8 version '0.4.1' 9 title 'Wizzi factory documentation' 10 license 'MIT' 11 [ schemas
/src/ittf/models/api/t/wizzi-plugin/artifactGenerator.api.ittf
1 api wizzi-plugin.artifactGenerator 2 module 3 standard-path {wizzi-plugin}/lib/artifacts/{schema}/{artifact}/gen/main.js 4 { 5 m gen 6 # Executes the generation of an artifact. 7 { model 8 # Can be a wizzi model or a POJO object. 9 # Its the main context object of an artifact generation. 10 { ctx 11 { value 12 # This property of the `ctx` parameter can contain 13 # a (optional) secondary context object. 14 api-ref wizzi.artifact.genContext 15 cb() 16 { ctx 17 # Is returned the same wizzi.artifact.genContext instance received, 18 # enriched with the artifact text written in its in-memory buffer. 19 api-ref wizzi.artifact.genContext
/src/ittf/models/api/t/wizzi-plugin/modelFactory.api.ittf
1 api wizzi-plugin.modelFactory 2 # Implemented by wizzi model factories contained in plugins. 3 module 4 standard-path {wizzi-plugin}/lib/wizzi/models/{schema}-factory.g.js 5 iface 6 m loadModel 7 # Executes the loading of a wizzi model using the 8 # wizzi-mtree.loader.loadMTree passed to 9 # wizzi-plugin.createLoadModel(...). 10 # It is returned by wizzi-plugin.createLoadModel(...) 11 # and can be stored and reused. 12 string ittfDocumentUri 13 # The uri of the primary ittf document to be loaded. 14 { requestContext 15 { __productionManager 16 required 17 api-ref wizzi.production.productionManager 18 { __ittfDocumentStore 19 required 20 api-ref wizzi-repo.ittfDocumentStore 21 { mTreeBuildUpContext 22 # (Optional) wizzi-plugin.wizziModel or POJO 23 { __request 24 # This is a legacy that should disappear. 25 # See the wizzi.production.productionContext class 26 # for the new implementation of debug dumps. 27 boolean dumpAll 28 boolean dumpIttfModel 29 boolean dumpModel 30 boolean dumpModelAfterInitializeAsync 31 cb() 32 { wizziModel 33 api-ref wizzi-plugin.wizziModel 34 { 35 hof createLoadModel 36 { wizziObject 37 function loadMTree 38 api-ref wizzi-mtree.loader.loadMTree 39 { file 40 api-ref wizzi-utils.file 41 { verify 42 api-ref wizzi-utils.verify 43 { errors 44 { WizziModelLoadError 45 # object derived from Error object 46 { globalContext 47 # Will be iniected in the evaluation context of 48 # every loaded model. 49 return 50 function loadModel 51 api-ref wizzi-plugin.modelFactory.loadModel
/src/ittf/models/api/t/wizzi-plugin/modelTransformer.api.ittf
1 api wizzi-plugin.modelTransformer 2 module 3 standard-path {wizzi-plugin}/lib/artifacts/{schema}/{transformer}/trans/main.js 4 { 5 m trans 6 # Executes the transformation of a model. 7 { model 8 # Can be a wizzi model or a POJO object. 9 # Its the model to be transformed. 10 { ctx 11 { value 12 # This property of the `ctx` parameter can contain 13 # a (optional) context object of the trasformation. 14 api-ref wizzi.artifact.genContext 15 cb() 16 { transformedModel
/src/ittf/models/api/t/wizzi/artifact.api.ittf
1 $group 2 api wizzi.artifact.artifactInfoConfig 3 kernel 4 { 5 string name 6 # from wfjob.artifact.wzName 7 { options 8 { model 9 string cwd 10 # from wfjob.line.cwdFolder 11 string src 12 # from wfjob.artifact.src 13 string ignore 14 # form wfjob.artifact.ignore 15 string schema 16 # wfjob.artifact.schema 17 [ contexts 18 { context 19 [ transformers 20 # from wfjob.artifact.transformers 21 [ contexts 22 { context 23 boolean isWfJob 24 # from wfjob.artifact.isWfJob 25 { gen 26 string generator 27 # from wfjob.artifact.generator 28 { dest 29 string baseFolder 30 # from wfjobModel.destBaseFolder 31 string folder 32 # from wfjob.line.destFolder || wfjob.production.destFolder 33 string path 34 # from wfjob.artifact.destPath 35 string extension 36 # from wfjob.artifact.extension 37 api wizzi.artifact.persisteable 38 { 39 { artifactInfo 40 api-ref wizzi.artifact.artifactInfo 41 { genContext 42 api-ref wizzi.artifact.genContext 43 string filepath 44 api wizzi.artifact.artifactInfo 45 kernel 46 { 47 string name 48 { options 49 { modelInfo 50 api-ref wizzi.model.modelInfo 51 [ contextInfos 52 { contextInfo 53 api-ref wizzi.model.modelInfo 54 boolean isWfJob 55 [ transformers 56 { gen 57 { dest 58 { wfjob 59 [ genContexts 60 { genContext 61 api-ref wizzi.artifact.genContext 62 ctor 63 { artifactInfoConfig 64 api-ref wizzi.artifact.artifactInfoConfig 65 m initialize 66 { productionManager 67 api-ref wizzi.production.productionManager 68 m addGenContext 69 { genContext 70 api-ref wizzi.artifact.genContext 71 m isWizziFactoryJob 72 return 73 boolean isWizziFactoryJob 74 m isWizziModelArtifact 75 return 76 boolean isWizziModelArtifact 77 m isModelCollectionArtifact 78 return 79 boolean isModelCollectionArtifact 80 m isCodeWriteArtifact 81 return 82 boolean isCodeWriteArtifact 83 m isFinalArtifact 84 return 85 boolean isFinalArtifact 86 m getItemsToPersistToFile 87 cb() 88 { persisteable 89 api-ref wizzi.artifact.persisteable 90 api wizzi.artifact.genConfig 91 kernel 92 pojo 93 { 94 { options 95 { data 96 # Interpolation context values 97 integer indentSpaces 98 default 4 99 string CRLF 100 default \n 101 boolean isDebugLine 102 default false 103 # TODO 104 integer indent 105 default 0 106 # starting indentation 107 { model 108 api-ref wizzi.model.iface.modelCollectionConfig 109 # used for building the destination path of the generated artifact 110 { srcPath 111 # main model document source path 112 { pman 113 api-ref wizzi.production.programManager 114 api wizzi.artifact.genContext 115 kernel 116 class-instance 117 path wizzi/lib/artifact/genContext.js 118 { 119 { model 120 api-ref wizzi.model.modelCollectionConfig 121 # Used for building the destination path of the generated artifact 122 # when the artifact type is "Model collection artifact". 123 # Is null for any other artifact type. 124 string srcPath 125 # main source model relative path 126 # is null for artifacts of type "Code write artifact" 127 string srcFullPath 128 # main source model full path 129 # is null for artifacts of type "Code write artifact" 130 { options 131 # artifactInfo.options 132 { pman 133 api-ref wizzi.production.programManager 134 { wizziFactory 135 api-ref wizzi.wizziFactory 136 boolean isEmpty 137 ctor 138 { genconfig 139 api-ref wizzi.artifact.genConfig 140 m forceIndent 141 integer value 142 m indent 143 integer value 144 default 1 145 m deindent 146 integer value 147 default 1 148 m a 149 # add a key, value pair to the interpolation context 150 string name 151 string value 152 m g 153 string name 154 # get value from interpolation context 155 m r 156 # remove key from interpolation context 157 string name 158 m w 159 string text 160 # write a text with interpolation and line feed 161 m write 162 # write a text with interpolation without line feed 163 string text 164 m appendFile 165 # write a file as a chunk inserted between writes 166 string filePath 167 m writeFile 168 # Write a file, no other writes are allowed. 169 # Is for copying final artifacts with the same interface 170 # used for writing generated ones. 171 string filePath 172 m toStream 173 { stream 174 api-ref nodejs.fs.stream 175 m getContent 176 return 177 string content 178 m getContentInLine 179 # return the content with the carriage return 180 # replaced with the string '__1_2_3__' 181 m error 182 string message 183 { node 184 api-ref wizzi.wizziModel.node 185 m artifactGenerationError 186 string message 187 string location 188 { node 189 api-ref wizzi.wizziModel.node 190 m terminate 191 m hydrate 192 { block 193 [ lines 194 { (line) 195 string text 196 integer indentValue 197 { options 198 integer indentSpaces 199 default 4 200 string CRLF 201 default \n 202 m toStringFromJSON 203 { block 204 [ lines 205 { (line) 206 string text 207 integer indentValue 208 { options 209 integer indentSpaces 210 default 4 211 string CRLF 212 default \n 213 api wizzi.artifact.AsyncArtifactGenerator 214 kernel 215 module 216 { 217 m generate 218 { artifactInfo 219 api-ref wizzi.artifact.artifactInfo 220 { generator 221 api-ref wizzi-plugin.artifactGenerator 222 [ modelInfos 223 { modelInfo 224 api-ref wizzi.model.modelInfo 225 [ mainSourceModels 226 { mainSourceModel 227 # api-ref wizzi-plugin.wizziModel or POJO 228 cb() 229 { generationInfo 230 # The meat, the genContexts, are added to the artifactInfo instance. 231 string oper 232 # AsyncArtifactGenerator.generate 233 string status 234 # success 235 string item 236 # genContexts count 237 info 238 # modelInfos and contextModels are collections of the same length. 239 # 240 api-create wizzi.artifact.genContext 241 api-call wizzi.artifact.AsyncArtifactGenerator._gen_item 242 m generateModelCollection 243 { artifactInfo 244 api-ref wizzi.artifact.artifactInfo 245 { generator 246 api-ref wizzi-plugin.artifactGenerator 247 [ modelInfos 248 { modelInfo 249 api-ref wizzi.model.modelInfo 250 [ mainSourceModelsOfModelCollection 251 [ mainSourceModels 252 { mainSourceModel 253 cb() 254 { generationInfo 255 # The meat, the created genContexts, are added to the artifactInfo instance. 256 string oper 257 # AsyncArtifactGenerator.generateFromCollectionContexts 258 string status 259 # success 260 info 261 api-create wizzi.artifact.genContext 262 api-call wizzi.artifact.AsyncArtifactGenerator._gen_item 263 m generateCodeWrite 264 { artifactInfo 265 api-ref wizzi.artifact.artifactInfo 266 { generator 267 api-ref wizzi-plugin.artifactGenerator 268 [ contextModels 269 { contextModel 270 api-ref wizzi.model.modelInfo 271 cb() 272 { generationInfo 273 # The meat, the created genContext, is added to the artifactInfo instance. 274 string oper 275 # AsyncArtifactGenerator.generateCodeWrite 276 string status 277 # success 278 info 279 # contextModels are compacted in a single model object, where 280 # each contextModel is exposed using its exportName as property name. 281 api-create wizzi.artifact.genContext 282 m _gen_item 283 internal 284 { genInfo 285 { generator 286 api-ref wizzi.plugin.artifactGenerator 287 { modelContext 288 # wizzi model or POJO 289 { genContext 290 api-ref wizzi.artifact.genContext 291 cb() 292 { genContext 293 api-ref wizzi.artifact.genContext 294 # enriched with the in-memory generated artifact 295 info 296 api-call wizzi.plugin.artifactGenerator
/src/ittf/models/api/t/wizzi/model.api.ittf
1 $group 2 api wizzi.model.modelCollectionConfig 3 kernel 4 pojo 5 # See the element 'modelRef' of the schema 'wfjob' [#wfelement wfjob/modelRef]. 6 { 7 string name 8 # property name of the collection in the model object 9 string itemName 10 [ pathTemplateValues 11 # An array mixed of literal tokens and tokens built 12 # from properties of a collection item that, once joined, 13 # build the destination path of a generated artifact. 14 alt value 15 { tokenOrAttribute 16 string token 17 string attribute 18 { function 19 function function 20 { collectionItem 21 api wizzi.model.modelInfoConfig 22 kernel 23 # See the element 'artifact' of the schema 'wfjob' [#wfelement wfjob/artifact]. 24 pojo 25 { 26 string cwd 27 # source base folder 28 string src 29 # | source full path 30 # | source relative path 31 # | 'context' ??? 32 # May contain a file pattern /*... 33 string ignore 34 # | ignore full path 35 # | ignore relative path 36 # May contain a file pattern /*... 37 string schema 38 [ contexts 39 { context 40 api-ref wizzi.model.modelInfoConfig 41 [ transformers 42 string transformerName 43 string exportName 44 { coll 45 # TODO rename to modelCollectionConfig 46 api-ref wizzi.model.modelCollectionConfig 47 api wizzi.model.modelCollectionInfo 48 kernel 49 pojo 50 api wizzi.model.modelInfo 51 kernel 52 class-instance 53 { 54 ctor 55 { config 56 merge modelInfoConfig 57 api-ref wizzi.model.modelInfoConfig 58 { modelRef 59 string exportName 60 m productionManager 61 # Get or set the production manager. 62 { productionManager 63 api-ref wizzi.production.productionManager 64 m hasContext 65 return 66 boolean hasContext 67 m getContextCollectionInfo 68 return 69 { collectionConfig 70 alt 71 { collectionConfig 72 api-ref wizzi.model.modelCollectionConfig 73 null 74 m getModelInfos 75 { options 76 cb() 77 m srcFullPath 78 return 79 string ignoreFullPath 80 m ignoreFullPath 81 return 82 string ignoreFullPath 83 m srcGlobPath 84 return 85 string srcGlobPath 86 m getFiles 87 { options 88 boolean final 89 # TODO explain 90 info 91 api-call wizzi-repo.fileSystem.getGlobbedFiles 92 api-send this.srcGlobPath 93 m getSource 94 cb() 95 string fileContent 96 $append error-types 97 error NotFoundError 98 error IsNotAFileError 99 info 100 api-call wizzi.file.read 101 api-send this.srcFullPath 102 m getSources 103 cb() 104 [ files 105 string fileContent 106 $append error-types 107 error NotFoundError 108 error IsNotADirectoryError 109 info 110 internal-call getFiles 111 m getLoadModel 112 # Returns the wizzi-plugin.modelFactory.loadModel for the 113 # wizzi schema of this modelInfo. 114 cb() 115 function loadModel 116 api-ref wizzi-plugin.modelFactory.loadModel 117 $append error-types 118 error NotFoundError 119 info 120 api-call wizzi.productionManager.instance.getLoadModel 121 api-send this.schema 122 m getModelTransformer 123 string trasformerName 124 cb() 125 { modelTransformer 126 api-ref wizzi-plugin.modelTransformer 127 $append error-types 128 error NotFoundError 129 info 130 api-call wizzi.productionManager.instance.getModelTransformer 131 api-send trasformerName 132 m getArtifactGenerator 133 string generatorName 134 cb() 135 { artifactGenerator 136 api-ref wizzi-plugin.artifactGenerator 137 $append error-types 138 error NotFoundError 139 info 140 api-call wizzi.productionManager.instance.getArtifactGenerator 141 api-send generatorName 142 api wizzi.model.asyncModelLoader 143 kernel 144 module 145 path wizzi/model/asyncModelLoader.js 146 { 147 m loadMany 148 [ modelInfos 149 { modelInfo 150 api-ref wizzi.model.modelInfo 151 cb() 152 m load 153 { modelInfo 154 api-ref wizzi.model.modelInfo 155 cb() 156 m _load_item 157 { masterModelInfo 158 api-ref wizzi.model.modelInfo 159 cb() 160 m load_collection 161 { collectionLoadData 162 { modelInfo 163 { context 164 { itemObject 165 cb() 166 { wizziModel 167 api-ref wizzi-plugin.wizziModel 168 m recurseTransform 169 internal 170 [ modelTransformers 171 string modelTransformer 172 integer index 173 { instance 174 { modelInfo 175 api-ref wizzi.model.modelInfo 176 cb() 177 { transformedModel
/src/ittf/models/api/t/wizzi/pluginsManager.api.ittf
1 $group 2 api wizzi.pluginsManagerModule 3 kernel 4 module 5 path wizzi/lib/services/pluginsManager.js 6 { 7 m createManager 8 { mtreeLoad 9 api-ref wizzi-mtree.loader.loadMTree 10 { options 11 [ items 12 string pluginName 13 string pluginsBaseFolder 14 default process.cwd() 15 cb() 16 { pluginsManagerInstance 17 api-ref wizzi.pluginsManager 18 info 19 api-create wizzi.pluginsManager 20 api-call wizzi.pluginsManager.initialize 21 api wizzi.pluginsManager 22 kernel 23 class-instance 24 path wizzi/lib/services/pluginsManager.js 25 { 26 m initialize 27 { options 28 [ items 29 string pluginName 30 string pluginsBaseFolder 31 default process.cwd() 32 cb() 33 api-ref wizzi.pluginsManager 34 info 35 api-call wizzi.pluginsManager.loadPlugins 36 api-call wizzi.pluginsManager.registerFactoryPlugin 37 m loadPlugins 38 { options 39 [ items 40 string pluginName 41 string pluginsBaseFolder 42 default process.cwd() 43 cb() 44 [ itemsOptions 45 { 46 string pluginName 47 string packagePath 48 merge plugin 49 api-ref wizzi-plugin 50 m registerFactoryPlugin 51 { pluginModule 52 api-ref wizzi-plugin 53 cb() 54 null 55 info 56 api-call wizzi-plugin.createFactoryPlugin 57 # Validates the created wizzi factory plugin. 58 # Add it to the plugins collection. 59 # Updates the collections of schemas, model transformers and artifact generators 60 # provided by this plugin manager. 61 m getModelFactory 62 string schemaName 63 return 64 { modelFactory 65 api-ref wizzi-plugin.modelFactory 66 m getModelTransformer 67 string transformerName 68 return 69 { modelTransformer 70 api-ref wizzi-plugin.modelTransformer 71 m getArtifactGenerator 72 string generationName 73 return 74 { artifactGenerator 75 api-ref wizzi-plugin.artifactGenerator 76 m getSchemaDefinition 77 string schemaName 78 return 79 json schemaDefinition
/src/ittf/models/api/t/wizzi/production.api.ittf
1 $group 2 api wizzi.production.state 3 kernel 4 pojo 5 iface 6 { models 7 { pman 8 api-ref wizzi.production.productionManager 9 { pcx 10 api-ref wizzi.production.productionContext 11 api wizzi.production.productionContext 12 kernel 13 class-instance 14 path wizzi/lib/production/productionContext.js 15 { 16 ctor 17 { dumps 18 # dumps to files of transient objects for debug purposes 19 string dumpsBaseFolder 20 { mTreeBuildUpScript 21 boolean dump 22 string dumpsBaseFolder 23 m setAclStat 24 { aclstat 25 m addIttfDocument 26 string uri 27 string content 28 m addMTreeBuildUpScript 29 string uri 30 string mTreeBuildUpScript 31 m addMixedMTree 32 string uri 33 { mixedMTree 34 m addEvaluatedMTree 35 string uri 36 { evaluatedMTree 37 m addMTree 38 string uri 39 { loadContext 40 m addWizziModel 41 string uri 42 { wizziModel 43 m addArtifact 44 string generatedArtifact 45 m raiseIttfEvaluationScriptError 46 string uri 47 info 48 api wizzi.production.productionManager 49 kernel 50 class-instance 51 path wizzi/lib/production/productionManager.js 52 { 53 { wizziFactory 54 api-ref wizzi.wizziFactory 55 { options 56 [ artifactInfos 57 { artifactInfo 58 [ wfJobArtifactInfos 59 [ wfJobConfigs 60 { productionContext 61 api-ref wizzi.production.productionContext 62 { ___state 63 api-ref wizzi.production.state 64 string productionName 65 { aclStatObject 66 { AclStat 67 string userId 68 string subscriptionType 69 { aclConfig 70 { statisticsConfig 71 { acl 72 { statistics 73 { globalContextObject 74 ctor 75 { wizziFactory 76 api-ref wizzi.wizziFactory 77 { options 78 boolean verbose 79 string basedir 80 boolean isDebug 81 string CRLF 82 integer indentSpaces 83 boolean dotgExtensionPrefix 84 { dumps 85 info 86 api-create wizzi.productionContext 87 api-create wizzi.production.state 88 m addArtifactInfo 89 # Add an artifact info config declared in an "artifact" element of a "wfjob" wizzi model. 90 # It may also be built programmatically and you can pass the instance. 91 alt artifactInfo 92 { artifactInfoConfig 93 { artifactInfoInstance 94 m addWfJobArtifactInfo 95 # Add a WfJob request declared in an "artifact" element of a "wfjob" wizzi model. 96 { wfJobArtifactInfoConfig 97 m addWfJob 98 { wfJobConfig 99 { options 100 info 101 merge wfJobConfig.options this.options 102 m getLoadModel 103 string schemaName 104 info 105 api-call wizzi.wizziFactory.getLoadModel 106 return 107 function loadModel 108 api-ref wizzi-plugin.modelFactory.loadModel 109 m getSchemaDefinition 110 string schemaName 111 return this.wizziFactory.getSchemaDefinition(schemaName) 112 m getModelTransformer 113 string transName 114 return 115 { modelTransformer 116 api-ref wizzi-plugin.modelTransformer 117 m getArtifactGenerator 118 string artifactName 119 return 120 { artifactGenerator 121 api-ref wizzi-plugin.artifactGenerator 122 m initialize 123 cb() 124 null 125 info 126 internal-call AsyncInitializeArtifactInfo.run 127 m run 128 cb() 129 { result 130 info 131 internal-call initialize 132 internal-call AsyncRunner.run (wfJobArtifactInfo) 133 internal-call AsyncRunner.run (artifactInfos) 134 m persistToFile 135 cb() 136 { result 137 info 138 internal-call AsyncPersisterToFile.run (artifactInfos) 139 m aclStat 140 # get/set 141 { aclStatObject 142 m globalContext 143 # get/set 144 { globalContextObject 145 m setStateModel 146 string key 147 { model 148 api wizzi.production.Runner 149 kernel 150 class-instance 151 { 152 ctor 153 { artifactInfo 154 api-ref wizzi.artifact.artifactInfo 155 m run 156 cb() 157 { enrichedArtifactInfo 158 # artifactInfo with genContext/s containing generated artifacts 159 api-ref wizzi.artifact.artifactInfo 160 m runWizziFactoryJob 161 internal 162 { modelInfo 163 api-ref wizzi.model.modelInfo 164 cb() 165 { enrichedArtifactInfo 166 # artifactInfo with genContext/s containing generated artifacts 167 api-ref wizzi.artifact.artifactInfo 168 m runWizziModelArtifact 169 internal 170 { modelInfo 171 api-ref wizzi.model.modelInfo 172 { gen 173 string generatorName 174 cb() 175 { enrichedArtifactInfo 176 # artifactInfo with genContext/s containing generated artifacts 177 api-ref wizzi.artifact.artifactInfo 178 info 179 api-call wizzi.model.modelInfo.getArtifactGenerator 180 api-call wizzi.model.asyncModelLoader.loadMany 181 api-call wizzi.artifact.asyncArtifactGenerator.generate 182 m runModelCollectionArtifact 183 { modelInfo 184 api-ref wizzi.model.modelInfo 185 { gen 186 string generatorName 187 cb() 188 { enrichedArtifactInfo 189 # artifactInfo with genContext/s containing generated artifacts 190 api-ref wizzi.artifact.artifactInfo 191 info 192 api-call wizzi.model.modelInfo.getArtifactGenerator 193 api-call wizzi.model.asyncModelLoader.loadMany 194 api-call wizzi.artifact.asyncArtifactGenerator.generateFromCollectionContexts 195 m runCodeWriteArtifact 196 [ contextInfos 197 { contextInfo 198 api-ref wizzi.model.modelInfo 199 { gen 200 string generatorName 201 cb() 202 { enrichedArtifactInfo 203 # artifactInfo with genContext/s containing generated artifacts 204 api-ref wizzi.artifact.artifactInfo 205 m runFinalArtifact 206 internal 207 { modelInfo 208 api-ref wizzi.model.modelInfo 209 cb() 210 { enrichedArtifactInfo 211 # artifactInfo with genContext/s containing generated artifacts 212 api-ref wizzi.artifact.artifactInfo
/src/ittf/models/api/t/wizzi/runnerServer.api.ittf
1 $group 2 api wizzi.runnerServerModule 3 kernel api 4 module 5 path wizzi/lib/services/runnerServer.js 6 { 7 { instance 8 api-ref wizzi.runnerServer 9 m init 10 string cwd 11 info 12 api-create wizzi.runnerServer 13 api wizzi.runnerServer 14 kernel 15 class-instance 16 path wizzi/lib/services/runnerServer.js 17 { 18 m registerPlugin 19 string pluginName 20 throw-if this.wizziFactory != null 21 # Cannot register a plugin if the wizzi factory has already been initialized. 22 # Must be called handling the onStart event 23 m registerGlobalContext 24 { context 25 throw-if this.wizziFactory != null 26 # Cannot register a global context if the wizzi factory has already been initialized. 27 # Must be called handling the onStart event 28 m initializeFactory 29 string userid 30 string role 31 string storeKind 32 default filesystem 33 cb() 34 { instance 35 api-ref wizzi.wizziFactory 36 info 37 api-call wizzi.createFactory 38 api-receive wizzi.wizziFactory 39 store-on-this 40 m loadModel 41 string schemaName 42 string ittfDocumentUri 43 { context 44 cb() 45 { wizziModel 46 api-ref wizzi.wizziModel 47 # Can be called from a jswizzi statement, in a ittf document, using the method: 48 # var result = $.model('schemaName', ittfDocumentUri, context); 49 m transformModel 50 string transformerName 51 { model 52 { context 53 cb() 54 { transformedModel 55 # Can be called from a jswizzi statement, in a ittf document, using the method: 56 # var result = $.transform('transformerName', model, context); 57 m registerApi 58 string apiName 59 function apiFunction 60 # Must be called handling the onPrepare event. 61 m callApi 62 string apiName 63 return 64 any result 65 # The result of calling: getApiFunction(apiName).apply(this, Array.prototype.slice.call(arguments, 1)) 66 # Can be called from a jswizzi statement, in a ittf document, using the method: 67 # var result = $.api('apiName', ...args);
/src/ittf/models/api/t/wizzi/wizziFactory.api.ittf
1 $group 2 api wizzi.wizziFactoryModule 3 kernel 4 module 5 path wizzi/lib/services/wizziFactory.js 6 { 7 m createFactory 8 string userid 9 string role 10 { options 11 api-ref wizzi.wizziFactory.createOptions 12 cb() 13 api-ref wizzi.wizziFactory 14 api wizzi.wizziFactory 15 kernel 16 class-instance 17 path wizzi/lib/services/wizziFactory.js 18 iface 19 { createOptions 20 { repo 21 string storeKind 22 restrict 23 enum mongodb 24 enum filesystem 25 enum localstorage 26 default filesystem 27 string storeUri 28 # when storeKind == 'mongodb' 29 string storeBaseFolder 30 # when storeKind == 'mongodb' 31 { plugins 32 [ items 33 string name 34 string pluginsBaseFolder 35 { globalContext 36 { test 37 string testOnlyMockBaseDir 38 { dumps 39 string dumpsBaseFolder 40 { mTreeBuildupJsWizziScript 41 boolean dump 42 { 43 m initialize 44 internal 45 { options 46 api-ref wizzi.wizziFactory.createOptions 47 cb() 48 { wizziFactory 49 api-ref wizzi.wizziFactory 50 info 51 api-call wizzi-repo.createStoreFactory 52 api-call wizzi-mtree.createLoadMTree 53 api-receive wizzi.mtree.loadMTree 54 store-on-this 55 api-call wizzi.pluginsManager.createManager 56 api-receive wizzi.pluginsManager.instance 57 store-on-this 58 m loadMTree 59 string ittfDocumentUri 60 { mTreeBuildUpContext 61 cb() 62 { mTree 63 api-ref wizzi.mTree.instance 64 info 65 internal-call createRequestContext 66 send templateEvalContext 67 receive 68 { requestContext 69 { templateEvalContext 70 POJO 71 { __productionManager 72 api-ref wizzi.production.productionManager 73 api-call wizzi-mtree.loadMTree 74 # This interface is stored in this.object 75 # at initialize time. 76 # See wizzi.wizziFactory.initialize 77 m getLoadModel 78 # 79 # Retrieve a modelLoad function by the model schema name 80 # Model factories are searched in the PluginsManager 81 # They are cached 82 string schemaName 83 return 84 function loadModel 85 api-ref wizzi-plugin.modelFactory.loadModel 86 info 87 api-call wizzi.pluginsManager.getModelFactory 88 api-receive wizzi-plugin.modelFactory 89 api-call wizzi-plugin.modelFactory.createLoadModel 90 api-send wizzi.mtree.loadMTree 91 api-receive wizzi-plugin.modelFactory.loadModel 92 m loadModel 93 string schemaName 94 # Allow the loading of documents which schema cannot 95 # be detected from the ittfDocumentUri parameter. 96 string ittfDocumentUri 97 required 98 { requestContext 99 { mTreeBuildUpContext 100 # A context object to be used in the `evaluation` step 101 # of the mTree loading. 102 { globalContext 103 # Being the loadModel function called once this usually is not used. 104 # Its properties are added to the `mTreeBuildUpContext` parameter object. 105 { formatOptions 106 boolean ittfSources 107 # if true returns not the model but its ittf source documents. 108 callback 109 m transformModel 110 string transformerName 111 { model 112 { genContext 113 cb() 114 { transformedModel 115 info 116 api-call wizzi.pluginsManagerInstance.getModelTransformer 117 api-receive wizzi-plugin.modelTransformer 118 api-call wizzi-plugin.modelTransformer.trans 119 m generateArtifact 120 { artifactModel 121 # A wizzi model or POJO. 122 string ittfDocumentUri 123 # for documentation and error messages 124 string artifactName 125 # The name of the artifact to be generated composed by 126 # `schemaName`/`artifactName`. 127 { artifactRequestContext 128 # An optional context object for the generation. 129 cb() 130 string artifactTextContent 131 info 132 api-call wizzi.pluginsManager.getArtifactGenerator 133 api-receive wizzi-plugin.artifactGenerator 134 api-create wizzi.artifact.genContext 135 api-call wizzi-plugin.artifactGenerator.gen 136 m loadModelAndGenerateArtifact 137 string ittfDocumentUri 138 required 139 { requestContext 140 required 141 { modelRequestContext 142 { artifactRequestContext 143 string artifactName 144 callback 145 m generateModelTypes 146 # 147 # From an ittf document of schema "wfschema" 148 # async generates: 149 # - a wizzi model 150 # - a wizzi model factory 151 # - a wizzi model test module 152 # - a wizzi model json documentation 153 # - a wizzi model html documentation 154 string wfschemaIttfDocumentUri 155 string outputPackagePath 156 string wfschemaName 157 { evaluationContext 158 cb() 159 null
/src/ittf/models/api/t/cb.api.ittf
1 callback 2 alt error 3 null 4 exception 5 $hook error-types 6 switch result 7 on error == null 8 $hook 9 on error == exception 10 null
/src/ittf/models/api/t/ittfDocumentStore.api.ittf
1 api wizzi-repo.ittfDocumentStore 2 # Kernel api 3 module 4 path wizzi-repo/lib/repo/ittfDocumentStore.js 5 { 6 # TODO explain everything IMPORTANT !!! 7 m parseUri 8 string ittfDocumentUri 9 cb() 10 $append error-types 11 error InvalidRequest 12 { parsedUri 13 string storeKind 14 restrict 15 enum filesystem 16 enum mongodb 17 enum localstorage 18 boolean isIttfDocument 19 string schema 20 switch userId 21 on storeKind is filesystem 22 string userId 23 # parsedUri.host 24 on storeKind is mongodb 25 string userId 26 # uri-parts[0] 27 switch projectId 28 on storeKind is filesystem 29 string projectId 30 # uri-parts[0] 31 on storeKind is mongodb 32 string projectId 33 # uri-parts[1] 34 switch uri 35 switch path 36 on storeKind is filesystem 37 string path 38 # uri-parts.join('/') 39 on storeKind is mongodb 40 string path 41 # uri-parts.join('/') 42 m init 43 { ittfDocumentInfo 44 string storeKind 45 restrict 46 enum filesystem 47 enum mongodb 48 enum localstorage 49 cb() 50 $append error-types 51 error InvalidRequest 52 null 53 m initSync 54 throw-if storeKind !== 'filesystem' 55 { ittfDocumentInfo 56 string storeKind 57 restrict 58 enum filesystem 59 return void 60 m documentExists 61 # Checks the existence of an ittf document in the repository. 62 string documentUri 63 cb() 64 $append error-types 65 error InvalidRequest 66 boolean documentExists 67 m folderExistsSync 68 throw-if storeKind !== 'filesystem' 69 string folderUri 70 return 71 boolean folderExists 72 m getFoldersSync 73 throw-if storeKind !== 'filesystem' 74 string parentFolderUri 75 { options 76 return 77 { this.storeImpl.getFoldersSync(parentFolderUri, options) 78 m getModelContent 79 # Retrieves an ittf document from the repository. 80 string ittfDocumentUri 81 cb() 82 $append error-types 83 error InvalidRequest 84 error IttfNotFound 85 string documentContent
/src/ittf/models/api/t/wizzi-app.api.ittf
1 $group 2 api wizzi-app 3 # This API should be implemented by applications that 4 # need a synchronous access to wizzi factory services. 5 # The jswizzi code inside an ittf document is executed 6 # synchronously, instead model loading always is asynchronous. 7 # So if an application uses ittf documents, 8 # that need to load context models in the jswizzi code, 9 # those models must be preloaded at start time in an asynchronous way, 10 # implementing the wizzi-app.wizzifile interface. 11 # TODO currently preloaded models cannot have a dynamic context, 12 # and after the loading at start time they are static models. 13 # The advent of compiled ittf documnt templates, that 14 # already has started in wizzi factory v4 (pre-release), should 15 # allow dynamic contexts. 16 api wizzi-app.wizzifile 17 module 18 standard-path {wizzi-app}/wizzifile.js 19 # The methods of this API must be implemented by applications. 20 # An application must pass the path to the wizzifile.js file to 21 # the wizzi.runnerServer, at application start up, calling the method 22 # wizzi.startRunnerServer. 23 # The wizzi.runnerServer is a singleton object; calling twice the start 24 # method throws an error. 25 { 26 m onConfig 27 # This handler is invoked before the runner server 28 # verifies its configuration parameters. Can be used to 29 # add or modify configuration values. 30 { wizziConfig 31 api-ref wizzi.config 32 # The wizzi.config object can be modified. 33 cb() 34 null 35 m onStart 36 # This handler is invoked when the runner server 37 # is ready to configure wizzi factories, registering plugins. 38 # Calling the wizzi.runnerServer.registerPlugin(factoryName, pluginName) imply 39 # the creation of a factory of name `factoryName`. 40 { runnerServer 41 api-ref wizzi.runnerServer 42 { wizziConfig 43 api-ref wizzi.config 44 # The wizzi.config object is read-only. 45 cb() 46 null 47 info 48 api-call wizzi.runnerServer.registerFactory 49 m onPrepare 50 # This handler is invoked when the wizzi factory `factoryName` is 51 # initialized and ready for operations. 52 # The `runnerServer` instance can be called to register functions and 53 # pre-load and transform models. 54 string factoryName 55 { runnerServer 56 api-ref wizzi.runnerServer 57 { wizziConfig 58 api-ref wizzi.config 59 # The wizzi.config object is read-only. 60 cb() 61 null
/src/ittf/models/api/t/wizzi-mtree.api.ittf
1 $group 2 api wizzi-mtree 3 kernel 4 module 5 path wizzi-mtree/index.js 6 iface 7 { requestContext 8 { mTreeBuildUpContext 9 { __productionManager 10 api-ref wizzi.production.productionManager 11 required 12 { options 13 m loadMTree 14 string ittfDocumentUri 15 { requestContext 16 api-ref wizzi-mtree.requestContext 17 cb() 18 { mTree 19 api-ref wizzi-mtree.loader.mTree 20 info 21 closure createStore 22 api-ref wizzi-repo.createStore 23 set requestContext.__ittfDocumentStore 24 api-call wizzi-mtree.loader.loadMTree 25 { 26 hof createLoadMTree 27 called-by wizzi.wizziFactory.initialize 28 function createStore 29 api-ref wizzi-repo.createStore 30 { options 31 boolean useCache 32 # TODO a cache strategy is not implemented yet 33 default false 34 boolean raw 35 # get the raw ittf nodes for documentation purposes 36 default false 37 return 38 function loadMTree 39 api-ref wizzi-mtree.loadMTree 40 api wizzi-mtree.loader 41 kernel 42 module 43 path wizzi-mtree/lib/loader/index.js 44 iface 45 { requestContext 46 { mTreeBuildUpContext 47 { __productionManager 48 api-ref wizzi.productionManager 49 required 50 { __ittfDocumentStore 51 required 52 { 53 m loadMTree 54 # The big job of loading an ittf source document 55 # resolving includes, mixups, append-hooks, template commands and expression evaluations. 56 string primaryIttfDocumentUri 57 { requestContext 58 api-ref wizzi-mtree.loader.requestContext 59 cb() 60 { mTree 61 api-ref wizzi-mtree.loader.mTree 62 info 63 # TODO lots of internal calls 64 # for technical documentation, not for pubblic api 65 api wizzi-mtree.loader.line 66 kernel 67 class-instance 68 { 69 integer indent 70 # The number of indentations of the first char in this line. 71 # ??? TODO The number of spaces for one indentation are significant ??? 72 string name 73 # The first sequence of chars in a line until the first white-space. 74 # This will become the ittf node name 75 string value 76 # The trimmed sequence of chars and white-spaces 77 # after the name and until end of line. 78 integer row 79 # The row number of the line in the ittf source document. 80 integer col 81 # The col number of the first char of the name. 82 string sourceKey 83 # The key to the source info of the ittf document. 84 # See the sourceKey property in the wizzi-mtree.loader.mTreeBrick. 85 string tagSuffix 86 restrict 87 enum none 88 enum ( 89 boolean hasMacro 90 # Has espressions to be evaluated. 91 api wizzi-mtree.loader.node 92 kernel 93 class-instance 94 path wizzi-mtree/lib/loader/nodifier.js 95 { 96 merge line 97 api-ref wizzi-mtree.loader.line 98 integer id 99 # The unique id of the node in a cloned mTreeBrick 100 # See api-ref wizzi-mtree.loader.mTreeBrick 101 integer parsedId 102 # The id of the node in the original mTreeBrick 103 # See api-ref wizzi-mtree.loader.mTreeBrick 104 { parent 105 # The parent node or undefined for the root 106 { model 107 # The mTreeBrick to which the node belongs 108 [ childs 109 # The children mTree nodes 110 { node 111 api-ref wizzi-mtree.loader.node 112 api wizzi-mtree.loader.mTreeBrick 113 kernel 114 class-instance 115 path wizzi-mtree/lib/loader/mTree.js 116 # This object always is a cloned object 117 # of an original mTree loaded from an ittf source document. 118 # The same ittf source document may be mixed in many 119 # branches of the builded mTree. 120 # The wizzi-mtree.loader.loadContext keeps track 121 # of original mTrees, indexed by a 'sourceKey', and 122 # cloned mTrees, indexed by a 'modelKey'. 123 { 124 string uri 125 # The location of the source ittf document. 126 string schema 127 # The source ittf document schema. 128 { loadContext 129 api-ref wizzi-mtree.loader.loadContext 130 [ lines 131 { line 132 api-ref : wizzi-mtree.loader.line 133 [ nodes 134 { node 135 api-ref : wizzi-mtree.loader.node 136 string sourceKey 137 # The key to the source info of the ittf document 138 # stored in wizzi-mtree.loader.loadContext. 139 string modelKey 140 # The unique model key of this mTree 141 # stored in wizzi-mtree.loader.loadContext. 142 # Many mTrees may have the same source key 143 # when the same source ittf document is mixed in various tree branches. 144 boolean mixed 145 # True if this mTree has been mixed 146 string $mixerModelKey 147 # The modelKey of the command node that invoked the mix up. 148 string $args 149 # The node value of the command node that invoked the mix up. 150 # A comma separated list of arguments. 151 string $argArray 152 # The arg array ??? of the command node that invoked the mix up. 153 string $params 154 # The node value of the $params command node of the 155 # source ittf document, if declared. 156 # A comma separated list of parameters in the form 157 # name[:type][|defaultValue] 158 # Set by the nodifier on the original mTree, then cloned. 159 m load 160 m setKeys 161 m clone 162 m getParamValues 163 m toIttf 164 m dump 165 api wizzi-mtree.jsWizziContext 166 kernel 167 # It is used internally for managing the execution environment. 168 # Evaluation context objects are pre-loaded loaded in this object with a global scope. 169 # Variables created by jswizzi code at runtime have a wizzi-mtree.loader.mTreeBrick scope. 170 # The nodes of the mTree that is builtup have a node scope. 171 api wizzi-mtree.jsWizziRunner 172 kernel 173 # The jswizzi executor engine. 174 module 175 path wizzi-mtree/lib/jswizzi/jsWizziRunner.js 176 { 177 m run 178 # If a callback is passed then the method is async. 179 string code 180 # A block of jswizzi code. 181 { jsWizziContext 182 api-ref wizzi-mtree.jsWizziContext 183 { options 184 boolean verbose 185 # prints every processed ast node 186 function dumpfile 187 # The stringified ast parsed by esprima is passed 188 # to this function for debug purposes. 189 cb() 190 any result
/src/ittf/models/api/t/wizzi-plugin.api.ittf
1 $group 2 api wizzi-plugin 3 # This API must be implemented by any wizzi plugin. 4 module 5 standard-path {wizzi-plugin}/index.js 6 { 7 m createFactoryPlugin 8 called-by wizzi.pluginsManager 9 # Is the entry point of a plugin implementation. 10 { wizziObject 11 api-ref wizzi 12 { options 13 cb() 14 { factoryPlugin 15 api-ref wizzi-plugin.factoryPlugin 16 m getProvides 17 # TODO modify the api source: replace the object provides with the method getProvides 18 return 19 { 20 [ schemas 21 string name 22 [ modelTransformers 23 string name 24 [ artifactGenerators 25 string name 26 api wizzi-plugin.factoryPlugin 27 # Implemented by any wizzi plugin 28 class-instance 29 { 30 m initialize 31 { wizziPackage 32 api-ref wizzi 33 { provides 34 [ schemas 35 string name 36 [ modelTransformers 37 string name 38 [ artifactGenerators 39 string name 40 { options 41 m getModelFactory 42 string schemaName 43 return 44 { modelFactory 45 api-ref wizzi-plugin.modelFactory 46 m getModelTransformer 47 string transformerName 48 return 49 { modelTransformer 50 api-ref wizzi-plugin.modelTransformer 51 m getArtifactGenerator 52 string generationName 53 return 54 { artifactGenerator 55 api-ref wizzi-plugin.artifactGenerator 56 m getSchemaDefinition 57 string schemaName 58 return 59 json schemaDefinition 60 $include wizzi-plugin/modelFactory 61 $include wizzi-plugin/modelTransformer 62 $include wizzi-plugin/artifactGenerator
/src/ittf/models/api/t/wizzi-repo.api.ittf
1 $group 2 api wizzi-repo 3 # Kernel api 4 module 5 path wizzi-repo/index.js 6 iface 7 m createStore 8 # A function, returned by wizzi-repo.createStoreFactory 9 # that can be called many times to obtain an instance of 10 # the wizzi-repo.ittfDocumentStore class for a given 11 # storeKind. 12 cb() 13 { store 14 api-ref wizzi-repo.ittfDocumentStore 15 # A new instance always is returned. 16 # TODO A cache strategy is not implemented yet, 17 # neither for stores nor documents. 18 info 19 closure storeKind 20 { 21 hof createStoreFactory 22 called-by wizzi.wizziFactory.initialize 23 { options 24 string storeKind 25 restrict 26 enum mongodb 27 enum filesystem 28 enum localstorage 29 default filesystem 30 switch storeUri 31 on storeKind == mongodb 32 string storeUri 33 # The uri of the running mongodb instance, 34 # that must be started before calling this method. 35 switch baseFolder 36 on storeKind is mongodb 37 string storeBaseFolder 38 # No access is allowed outside of the store base folder. 39 cb() 40 # Returns a function that can be called to obtain an instance 41 # of the wizzi-repo.ittfDocumentStore. 42 function createStore 43 api-ref wizzi-repo.createStore 44 $include ./ittfDocumentStore.api
/src/ittf/models/api/t/wizzi.api.ittf
1 $group 2 api wizzi 3 kernel 4 # The main API of the wizzi factory. 5 module 6 path wizzi/index.js 7 { 8 facade createFactory 9 # To execute artifact productions a wizzi.wizziFactory instance 10 # must be obtained. Many factories, with differents wizzi.wizziFactory.createOptions, 11 # can be create by the same process. 12 implemented-by wizzi.wizziFactory.createFactory 13 string user 14 # ACL not implemented yet. To be used when exposing the factory on the web. 15 # Use user name `stefi`. 16 string role 17 # ACL not implemented yet. To be used when exposing the factory on the web. 18 # Use role `admin`. 19 { options 20 api-ref wizzi.wizziFactory.createOptions 21 cb() 22 { wizziFactory 23 api-ref wizzi.wizziFactory 24 m executeWizziJob 25 # Executes a wizzi job described by a wizzi model of type `wfjob`. 26 { request 27 string user 28 default stefi 29 string role 30 default admin 31 { factoryCreateOptions 32 api-ref wizzi.wizziFactory.createOptions 33 { job 34 string name 35 # A label for messages. 36 string ittfDocumentUri 37 # The path to the 'wfjob' model primary ittf document. 38 { productionOptions 39 integer indentSpaces 40 default 4 41 string basedir 42 # TODO explain where it is used 43 integer verbose 44 default 2 45 # Not implemented yet 46 { dumps 47 # (Optional) request for dumps to files of transient objects for debug purposes. 48 string dumpsBaseFolder 49 required 50 { mTreeBuildupJsWizziScript 51 boolean dump 52 string dumpsBaseFolder 53 default &dumpsBaseFolder/scripts 54 { mixedMTree 55 boolean dump 56 string dumpsBaseFolder 57 default &dumpsBaseFolder/mixed 58 { evaluatedMTree 59 boolean dump 60 string dumpsBaseFolder 61 default &dumpsBaseFolder/evaluated 62 { globalContext 63 # Every wizzi factory loading, transformation and artifact generation 64 # executed by this job 65 # will have the properties of this object injected in its 66 # context object. 67 cb() 68 # If the callback returns both error and result = null the 69 # job has been successfully executed. 70 null 71 info 72 api-call wizzi.createFactory 73 api-call wizzi.wizziFactory.executeJob 74 m startRunnerServer 75 # Can be used at startup of an application that needs to load 76 # wizzi models synchronously, for example using the $.model(name, query) 77 # or $.api(name, ...args) sync methods in a jswizzi statement. 78 # This method is async and models can be preloaded implementing the 79 # onStart and onPrepare callbacks in a wizzifile.js. 80 # See the wizzifile.js documentation. 81 # TODO links 82 { options 83 string userid 84 string role 85 string cwd 86 # The wizzifile.js folder. 87 default process.cwd() 88 [ factoryCreateOptions 89 # A collection of named wizzi.wizziFactory.createOptions that 90 # allow models preloading from different store kinds and 91 # plugin configurations. The onStart and onPrepare methods 92 # will be called for each wizzi.wizziFactory.createOptions item. 93 { item 94 string name 95 { factoryCreateOptions 96 api-ref wizzi.wizziFactory.createOptions 97 string storeKind 98 # Can be different frome the storeKind(s) used by the application. 99 # For now only one storeKind can be used. 100 cb() 101 # If the callback returns both error and result = null the 102 # generation has been successfully executed. 103 null 104 m generateWizziModelTypes 105 # From an ittf document of schema "wfschema" 106 # async generates: 107 # - a wizzi model type implementation javascript module 108 # - a wizzi model type factory javascript module 109 # - a wizzi model type test javascript module 110 # - a wizzi model type json documentation 111 # - a wizzi model type html documentation 112 { request 113 string user 114 default stefi 115 string role 116 default admin 117 { factoryCreateOptions 118 api-ref wizzi.wizziFactory.createOptions 119 { wfschema 120 string name 121 # The name of the wizzi model type (schema) to be generated. 122 string ittfDocumentUri 123 # The path to the `wfschema` ittf document describing the wizzi model type. 124 string outputPackageFolder 125 # The destination base path of the generated artifacts. 126 # The names of the artifacts will be 127 # &outputPackageFolder/lib/wizzi/models/&name-model.g.js 128 # &outputPackageFolder/lib/wizzi/models/&name-factory.g.js 129 # &outputPackageFolder/lib/wizzi/models/&name-schema.g.json 130 # &outputPackageFolder/lib/wizzi/models/&name-schema.g.html 131 # &outputPackageFolder/lib/wizzi/schemas/&name-test.g.js 132 cb() 133 # If the callback returns both error and result = null the 134 # generation has been successfully executed. 135 null 136 $include wizzi/wizziFactory 137 $include wizzi/pluginsManager 138 $include wizzi/runnerServer 139 $include wizzi/model 140 $include wizzi/artifact 141 $include wizzi/production
/src/ittf/models/api/wf.api.ittf
1 wfsystem wizzifactory 2 $include wizzi 3 $include wizzi-repo 4 $include wizzi-mtree 5 $include wizzi-plugin 6 $include wizzi-app
/src/ittf/models/docs/t/concepts/introduction/summary.docs.ittf
1 $group 2 summary 3 p The wizzi factory is a pluggable engine that pushes to the extreme the 4 + model driven development of software artifacts. 5 p Everything in wizzi is a templeatable tree structure 6 + that can be transformed until it becomes an AST that an artifact generator can 7 + use to produce a software artifact targeting a programming language (PL). 8 p It is built on a limited number of core packages that contain the modeling system 9 + and the factory engine, plus a growing number of Wizzy Lab packages where 10 + generators for various domains of interest are developed and tested. 11 p <img src="core-labs-packages.svg" width="300px" height="150px"> 12 p The Wizzi Factory modeling system is three layered: a meta model, the WizziMetaSchema, models 13 + a WizziSchema, which in turn models specific domain WizziModelTypes. 14 p The WizziMetaSchema is designed to model schemas that can be represented by a 15 + three data structure and can be easily mapped to a javascript object. 16 p Source models, named IttfDocuments, are text based and can be edited using 17 + the code/text editor of choice. 18 p Ittf stays for Indented Text Tree Format, the notation format of 19 + the Wizzi Factory modeling system. An IttfDocument is a tree data structure, codified in a text document, 20 + where child nodes are indented to their parent. 21 ittf 22 - html 23 - body 24 - ul 25 - li 26 - a The Wizzi Factory 27 - href https://wizzifactory.github.io 28 p Ittf documents are composable and templateable. A pipeline of transformations is applied to 29 + them giving, as a result, a 30 + typed wizzi model that must be validated against its schema. 31 p Finally Artifact generators transform WizziModelInstances into Software Artifacts. 32 p The Wizzi factory has two main processes. 33 p <img src="two-main-processes.svg"> 34 p The two processes have the same structure. WizziModelTypes and 35 + WizziModelFactories are themselves Software artifacts generated 36 + by an ArtifactProduction. WizziSchemas are modeled using IttfDocuments. 37 p There is a circularity that requires a bootstrap step. 38 + It consists of a manually crafted wizzi model type describing the 'wfschema', 39 + Wizzi models of type 'wfschema' are inputs to the wizzi model type production that 40 + generates wizzi model types and factories.
/src/ittf/models/docs/t/concepts/objects/artifactgenerator.docs.ittf
1 object Artifact generators 2 summary 3 p An artifact generator transforms one or more WizziModelInstances into a Software artifact. 4 ul It can be: 5 li a full Javascript program, that uses a 'code write' process to output an artifact; 6 li an IttfDocument that act as a template and will be loaded into a WizziCodeModel, from 7 + which the artifact will be generated. 8 p To be exposed to the ProductionManager of the Wizzi Factory, artifacts must be packaged 9 + respecting a conventional folder structure and an interface. 10 see CodeWriteArtifact 11 see WizziCodeModelArtifact 12 see ArtifactPackage 13 see ArtifactInterface
/src/ittf/models/docs/t/concepts/objects/ittfdocument.docs.ittf
1 object Ittf documents 2 summary 3 p Ittf stays for Indented Text Tree Format, the notation format of 4 + the Wizzi Factory modeling system. 5 p An Ittf document is a syntax tree, codified in a text document, 6 + where child nodes are indented to their parent. This is an Ittf document: 7 p 8 ittf 9 - html 10 - body 11 - ul 12 - li 13 - a The Wizzi Factory 14 - href https://wizzifactory.github.io 15 p 16 p There are primary, mixin and include Ittf documents. This is a mixin: 17 ittf 18 - li 19 - $params text, href 20 - a ${dollar}{text} 21 - href ${dollar}{href} 22 p To a mixin you can pass arguments. Instead an include is simply inserted as is. 23 + This could be an include: 24 ittf 25 - div License MIT 26 - span copy Stefano Bassoli. 27 p 28 ul It may contain two kind of nodes: 29 li Object nodes. Name/value pairs which semantics is described by a Wizzi schema. 30 li Control nodes, alias Ittf statement nodes. Processing and conditional statements that, 31 + once the loading is triggered, drive the document into an Ittf model, a syntax 32 + tree with only node objects. 33 p Every IttfDocument of the Wizzi Factory is a full template: 34 + all its nodes are templeatable elements; even the root of 35 + a primary IttfDocument may be a replaceable node or 36 + a node with a template expression in its value. 37 p An Ittf document can include or mix up other Ittf documents. 38 + One can pass any object as a context to the Ittf model loader, 39 + can conditionaly include/exclude node branches using context values 40 + and can also create context values by code inside an Ittf document. 41 p The final result only, alias the Ittf model, containig object nodes 42 + only, must be validated by a Wizzi schema to became a Wizzi model instance. 43 p Not every Itff document should became a Wizzi model. An Ittf model once built 44 + can be persisted again to a new, more complex Itff document, so you can chain 45 + as many transformations as you need and load only final 46 + Ittf models into Wizzi model instances. 47 see the IttfStatements API 48 href apis/ittfstatements 49 see IttfDocuments examples 50 href examples/ittfdocuments
/src/ittf/models/docs/t/concepts/objects/ittfexpression.docs.ittf
1 object Ittf expression 2 summary 3 p The value of an ittf node may contain a Js-Wizzi expression that will be replaced with 4 + the result of its evaluation. 5 see the IttfExpressions API 6 href apis/ittfexpressions
/src/ittf/models/docs/t/concepts/objects/ittfmodel.docs.ittf
1 object mTree (magical tree) 2 summary 3 p An mTree is the result of an ittf document loading and buildup. 4 p It contains domain nodes only, that must be conformant to a wizzi schema, 5 + and is loaded into a wizzi model type. 6 see the IttfModel API 7 href apis/ittfmodel
/src/ittf/models/docs/t/concepts/objects/ittfmodelloader.docs.ittf
1 object Ittf model loaders 2 summary 3 p The IttfModelLoader is the transformation engine of the Wizzi factory. 4 + It parses IttfDocuments and processes 5 + It processes the Ittf statements coded in Ittf documents and composes, mixups, 6 + evaluates the tree nodes of the documents producing an Ittf model. 7 see the Ittf model load process description 8 href apis/ittfmodelloader
/src/ittf/models/docs/t/concepts/objects/ittfstatement.docs.ittf
1 object Ittf statement 2 summary 3 p An IttfStatement is a control node of an IttfDocument, that is recognized by name by the 4 + IttfModelLoader. 5 ul Are IttfStatement: 6 li include or mixin call instructions 7 ul 8 li $include <include-path> 9 li <mixin-path>( <arg> [, <arg> [ … ] ] ) 10 li $params <param> [, <param> [ … ] ] ) 11 li template control statements 12 ul 13 li $if <condition> 14 li $elif <condition> 15 li $else 16 li $foreach <item> in <contextCollection> 17 li append and hook statements 18 ul 19 li $append 20 li $hook 21 li context manipulation code 22 ul 23 li 24 li $global 25 li multiline value content 26 ul 27 li $. 28 li comments 29 ul 30 li $$ <rest-of-line> 31 li $* ... node branch ... * 32 see the IttfStatements API 33 href apis/ittfstatement
/src/ittf/models/docs/t/concepts/objects/wizzimodel.docs.ittf
1 object Wizzi models 2 summary 3 p A Wizzi model is a typed Document Object Model acting as a data context 4 + in an Artifact generation process. 5 p Wizzi model(s) and their loader(s) are generated 6 + from a Wizzi schema. 7 p Instances of a Wizzi model are created 8 + by Wizzi model loader(s) and populated 9 + with the semantic nodes of an Ittf model 10 see the WizziModel API 11 href apis/wizzimodel
/src/ittf/models/docs/t/concepts/objects/wizzimodelinstance.docs.ittf
1 object Wizzi model instances 2 summary 3 p A WizziModelInstance is an instance of a WizziModelType populated with 4 + an IttfModel conformant to its WizziSchema. 5 p It can act as a context object in the template evaluation of 6 + other WizziModelInstances. May be used as a context by 7 + CodeWriteArtifactGenerators. May be traversed and manipulated 8 + by WizziModelTransforemers or by WizziSchema methods.
/src/ittf/models/docs/t/concepts/objects/wizzimodelloader.docs.ittf
1 object Wizzi model loaders 2 summary 3 p Wizzi model loaders are javascript modules generated from wizzi schemas. 4 p Ittf documents are loaded into wizzi models of their type (schema). 5 ul The wizzi model loading process 6 li 7 ul Template evaluation context models loading: 8 li Recurse the execution of this 'wizzi model loading process' 9 + for each context model passed as an argument to the wizzi model loader; 10 li template context object emission (callback). 11 ul mTree loading (inputs: 1 - primary ittf document uri, 2 - template context object) 12 li ittf document lexing and parsing; 13 li includes resolution; 14 li mixins resolution; 15 li node branch appends and hooks resolution; 16 li template evaluation; 17 li mTree structure builup; 18 li mTree emission (callback). 19 ul Wizzi model instance loading: 20 li wizzi model factory retrieving (from plugins) 21 li instantiation of a wizzi model instance; 22 li load (from mTree) method; 23 li initialize method; 24 li verify method; 25 li model instance emission (callback).
/src/ittf/models/docs/t/concepts/objects/wizzimodeltransformer.docs.ittf
1 object Wizzi model transformers 2 summary 3 p An ittf document can use statements for composing rich models 4 + mixing context data, but we may need to preprocess our models 5 + before artifact generation. 6 p A wizzi model transformer is a javascript program that receives in input 7 + a model object and a context object, and returns a transformed model 8 + as a POJO object. 9 p To be used by the production manager of the wizzi Factory, model transformers 10 + must be packaged in a plugin respecting a conventional folder structure 11 + and an interface. 12 see WizziModelTransformerExample 13 see WizziModelTransformerPackaging 14 see WizziModelTransformerInterface
/src/ittf/models/docs/t/concepts/objects/wizzischema.docs.ittf
1 object Wizzi schemas 2 summary 3 p A wizzi schema describe the node structure to which an mTree 4 + must be conformant in order to be 5 + loaded into a wizzi model type. 6 p Wizzi model types are artifacts generated 7 + transforming a wizzi schema. 8 p A wizzi schema is itself a wizzi model of schema 9 + 'wfschema' and is created writing templateables ittf documents, 10 + like any wizzi model: 11 h3 Example of wizzi schema 12 ittf 13 - wfschema rdbms 14 - e catalog 15 - r table/s 16 - e table 17 - r column/s 18 - r index/es 19 - e column 20 - a type 21 - a caption 22 - a defaultValue 23 - tag default 24 - e index 25 - a primary 26 - type boolean 27 - a unique 28 - type boolean 29 - r column/s 30 p A Wizzi schema may target any domain: data, ui, 31 + code language, etc ...
/src/ittf/models/docs/t/concepts/artifactgenerator.docs.ittf
1 concept Artifact generator 2 summary 3 p An artifact generator transforms a context object into a software artifact 4 + targetting a programming language or a data structure schema. 5 p Like a model trasformer an artifact generator is an interface exported by plugins 6 + and its implementation is free. Usually the implementor is a javascript program that receives 7 + in input a wizzi model or an mTree and returns the text of the generated artifact. 8 + To be used in a production, artifact generators 9 + must be packaged in a plugin respecting folder structure 10 + and interface. 11 p The wizzi job executor retrieve the artifact generator from its plugin and 12 + invoke the generation method.
/src/ittf/models/docs/t/concepts/elasticsynthaxtree.docs.ittf
1 concept Wizzi models as syntax trees 2 summary 3 ul WizziModelTypes are generated in javascript implementing a logical tree view of the model: 4 li Elements are nodes. 5 li Container elements are parents to attributes and related elements. 6 li There must be only one root element (an element without a parent). 7 p The tree structure of a WizziModel can be modeled as the syntax tree structure 8 + of a programming language (PL) and model instances may act as code templates. 9 p Grammars may be simplified/trivialized, using stereotypes instead of valid symbols. 10 + The statements of a programming language (PL) are syntactic sugar, the best 11 + as possible human readable, that must be parsed into an 12 + <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">abstract synthax tree (AST)</a> 13 + in order to produce the machine instructions to be executed. 14 p The grammar of a PL is a transformation rule from syntactic sugar to AST. 15 + An AST is less human readable but more powerful of a PL. It is made of 16 + nodes that express the semantics of instructions and can be traversed to 17 + extract relations between nodes. Compilers use the concept of 18 + <a href="https://en.wikipedia.org/wiki/Abstract_semantic_graph">Abstract semantic graph (ASG)</a> 19 + for trasformations of ASTs that may contain shared subterms (also known as "common subexpressions"). 20 p ASTs and their traversals and trasformations are a powerful tool for compiling 21 + machine instructions. Why this power can't be used in model driven generation of 22 + software artifacts, which are the inputs to compilers? 23 p Well, obviously software factories try just to do that. Every modeling methodology is, in 24 + this respect, a kind of sintactic sugar around implicit ASTs that artifact generators 25 + traverse and trasform in the best intelligent way they can do. 26 p But why not to use explicit ASTs as models of the software factory. ASTs transformations could 27 + be executed in every step of the factory life-cycle: models design, model instances 28 + construction and models processing in the final artifact generation step. 29 p That is the idea on which is founded the Wizzi Factory. Everything: schemas, models, templates and 30 + generators, became ASTs, with plenty of functionality to traverse, transform, build the 31 + node branches of the tree. 32 p That means that we go back to early times when programs where punched in machine code? 33 p Or may an AST be elastic and contain a mix of formal tree structures and syntactic sugar, 34 + to have a balance between the power of the AST and the readability of a more 35 + natural language. 36 p A compiler that should digest an "elastic AST" could simply spit it. 37 p But an ArtifactGenerator that is created from the same designer/programmer/team that has 38 + created the "elastic AST" schema 39 + can well digest it without too much hassle. 40 p The ArtifactGenerators of the Wizzi Factory are built on the concepts 41 + of "Elastic syntax trees" and "LanguageWizziSchema".
/src/ittf/models/docs/t/concepts/generationprocess.docs.ittf
1 concept Wizzi factory 2 summary 3 p The wizzi factory, 4 + is a model driven artifacts generator 5 + that generates its next version. 6 p Its goal is, at the same time, to simplify, speed, 7 + improve and document the production process. 8 p The belief is that succeding in improving its generation, 9 + will make it successfully reusable for any other 10 + usefull generation purpose. 11 p The wizzi factory uses for almost any of its precesses 12 + one single omnipresent component: the wizzi magical tree, 13 + mTree for shorter. 14 p So before diving into software atifact generation concept we 15 + need to familiarize with mTrees. 16 implementing 17 + one single production process: 18 ul 19 li Model your domains of interests and your programming 20 + languages (PL) with a simple schema defining 21 + elements, attributes and relations. 22 li Write templated domain and language models in textual 23 + documents with a tree structure notation (see ittf notation). 24 li Write model transformers and artifact generators that 25 + transform models into software artifacts. 26 li Write templated job models that a production manager will execute 27 + orchestrating model transformations and artifact generations.
/src/ittf/models/docs/t/concepts/instancebuildup.docs.ittf
1 concept Build up of wizzi model instances 2 summary 3 p The buildup of a model from one or many IttfDocuments is a powerful process of 4 + the wizzi factory. 5 ul An IttfDocument may contain two kind of nodes: 6 li Domain nodes: name/value pairs which semantics is described by a wizzi schema. 7 ittf 8 - table User 9 - column Email 10 li Command nodes: processing and conditional statements. 11 ittf 12 - $if condition 13 - statements 14 ul Command nodes allow: 15 li Inclusion or mix up of other IttfDocuments. 16 li Conditional inclusion/exclusion of node branches using context values. 17 li Template expansion of node branches. 18 li Creation or modification of context values. 19 p The mixup of IttfDocuments can be recursive: a mixin can in turn mixup other mixins. 20 + The command node invoking a mixin inclusion may be the root 21 + node of on IttfDocument, allowing a partial branch to mixup its container branch or root and 22 + to be appended to a declared node (see the command nodes: $append and $hook). 23 p The final step of the build up is the template evaluation, which rebuilds the nodes 24 + of the source IttfDocuments in an in-memory 25 + tree structure, the mTree (magical tree), that contains only domain nodes. 26 p The mTree is the source object that may be loaded into a typed wizzi model.
/src/ittf/models/docs/t/concepts/ittfdocument.docs.ittf
1 concept Ittf document 2 summary 3 p Ittf, short for Indented Text Tree Format, is the textual notation format of 4 + an mTree. 5 + An Ittf document is a syntax tree, codified in a text document, 6 + where child nodes are indented to their parent. 7 h4 Example of ittf document 8 ittf 9 - html 10 - body 11 - ul 12 - li 13 - a The Wizzi Factory 14 - href https://wizzifactory.github.io 15 p Every line is a node consisting of a name value pair. 16 + The name is the first string of chars of the line and is separated 17 + from the value by a space or a tab. 18 p The node name can be a domain tag with a semantic meaning or 19 + a node command for the template processor. 20 + Both the node name and the value may contain expressions that are 21 + interpolated. 22 p An ittf document is a template and when loaded for building 23 + an mTree we can pass a template context object to the mTree loader. 24 p Ittf documents are full templates and even the root node 25 + may be a command node that invokes the mixup 26 + of its container. 27 h4 Example of a root node that mixes its container. 28 ittf 29 - layout( Welcome to my site ) 30 - $append appbar 31 - ul 32 - $foreach item in menulist 33 - li 34 - a ${dollar}{item.name} 35 - href ${dollar}{item.path} 36 - . wrapper 37 - . content 38 h4 Example of a container 39 ittf 40 - html 41 - $params title 42 - head 43 - title ${dollar}{title} 44 - body 45 - header 46 - h1 ${dollar}{title} 47 - $hook appbar 48 - section 49 - $hook 50 ul Ittf document types 51 li primary 52 li mixin 53 li include 54 p A primary ittf document is the entry point of an mTree buildup. 55 p A mixin can receive parameters. 56 p An include is inserted as is and may not receive parameters. 57 h4 Example of a mixin ittf document. 58 ittf 59 - li 60 - $params text, href 61 - a ${dollar}{text} 62 - href ${dollar}{href} 63 h4 Example of an include ittf document. 64 ittf 65 - div License MIT 66 - span copy Stefano Bassoli. 67 p 68 p We have now to examine how an mTree can be transformed in a 69 + schemed (typed) model that we call wizzi model.
/src/ittf/models/docs/t/concepts/jswizzi.docs.ittf
1 concept jswizzi 2 summary 3 p The template engine of the wizzi factory uses a customized 4 + subset of the ECMA-262 javascript standard, sandboxed, and tailored 5 + for processing ittf documents and buildup mTrees. 6 + JsWizzi is built on the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure 7 + and is run by a custom javascript engine (JsWizziRunner). 8 p TODO
/src/ittf/models/docs/t/concepts/languageschema.docs.ittf
1 concept Language schema 2 summary 3 p A language schema defines a tree structure 4 + that an artifact generator can transform 5 + targeting the synthax of a programming language (PL) grammar. 6 ul Examples: 7 li The js schema in the wizzi-js plugin. 8 li The html and css schemas in the wizzi-html plugin. 9 p A language schema can be viewd as a profile of a PL Grammar that can be implemented partially, 10 + with some of its symbols stereotyped. 11 p The schema developer should try to find the optimal balance 12 + between ease of use and completeness and 13 + define the proper approximation of the schema in respect to the PL grammar. 14 p wizzi v3 is entirely coded using the 'js' wizzi schema implemented 15 + by the wizzi-js plugin. 16 h3 Example of a js ittf document (yes we know it is javascript). 17 ittf 18 - module 19 - kind jsfile 20 - class Horse 21 - super Animal 22 - ctor 23 - param name 24 - base name 25 - m say 26 - log 'Hiiii i am ' + this.name 27 - m create 28 - static 29 - param name 30 - return 31 - new Horse 32 - @ name
/src/ittf/models/docs/t/concepts/modeltransformer.docs.ittf
1 concept Model transformer 2 summary 3 p mTrees and wizzi models can compose complex data structures 4 + mixing source and context data, but sometimes we need to preprocess 5 + our models before artifact generation. 6 p A model trasformer is an interface exported by plugins 7 + and its implementation is free. Usually the implementor is a javascript program that receives 8 + in input a wizzi model or an mTree and returns a transformed model 9 + as a POJO object. 10 p To be used in a production, model transformers 11 + must be packaged in a plugin respecting folder structure 12 + and interface. 13 p The transformer interface allow the declaration (for example in a wizzi job), that 14 + a wizzi model or an mTree require a trasformation before 15 + using it as a context object. 16 p The production manager retrieve the transformer from its plugin and 17 + invoke the transform method.
/src/ittf/models/docs/t/concepts/mtree.docs.ittf
1 concept mTree 2 summary 3 p An mTree is an in-memory tree data structure that is built 4 + processing a textual template, coded in a common 5 + text editor. 6 p The wizzi factory uses an mTree like a flexible AST, 7 + that can be relaxed or strictly schemed depending 8 + on generation purposes. 9 p We have to see the textual representation of an mTree 10 + and how it can be schemed. In this regard we introduce 11 + ittf documents and wizzi models.
/src/ittf/models/docs/t/concepts/wfschema.docs.ittf
1 concept Wizzi schema 2 summary 3 p A wizzi schema describes the node structure to which an mTree 4 + must be conformant in order to be 5 + loaded into a wizzi model. 6 p Wizzi models are artifacts generated 7 + transforming a wizzi schema. 8 p A wizzi schema is itself a wizzi model of schema 9 + 'wfschema' and is created coding 10 + an ittf document, 11 + like any wizzi model. 12 h3 Example of wizzi schema 13 ittf 14 - wfschema rdbms 15 - e catalog 16 - r table/s 17 - e table 18 - r column/s 19 - r index/es 20 - e column 21 - a type 22 - a caption 23 - a defaultValue 24 - tag default 25 - e index 26 - a primary 27 - type boolean 28 - a unique 29 - type boolean 30 - r column/s 31 p A Wizzi schema may target any domain: data, ui, 32 + code language, etc ... 33 p The notation for elements and attributes may be abbreviated. The schema can assign a short mnemonic 34 + tag to elements and attributes. 35 p A javascript module mapping a wizzi model is generated from a wizzi schema. 36 p A wizzi model once loaded can perform actions. A schema can declare schema and element methods 37 + and global functions, 38 + that will be inserted in the generated javascript. Schema and element methods 39 + will have access to model instance data loaded from mTrees. 40 p Two methods: wzInitialize and wzVerify, autogenerated, perform initialization and validation 41 + actions inferred from the schema and its constraints. 42 + Schema designers may define custom methods and/or add code lines to the wzInitialize and wzVerify methods. 43 p So far we have seen how to represent the models that drive software productions. Now we should focus 44 + on artifact generation. Models may require transformations and we need model transformers. 45 + Complex generations may require a task manager and the wizzi factory offers the wizzi job schema 46 + and the production manager component. 47 p Before proceding we must also consider the fact that the most part of artifact generators 48 + targets programming languages (PL) and 49 + not plain tree data structures. The wizzi factory wants to use the power of mTrees for PL also. 50 + For this purpose it has developed the concept of language schema, that is a wizzi schema 51 + describing an <b><i>approximate synthax tree</i></b> for a PL.
/src/ittf/models/docs/t/concepts/wizzifactory.docs.ittf
1 summary 2 p The wizzi factory, 3 + is a model driven artifacts generator 4 + that generates its next version. 5 p Its goal is to speed, 6 + improve, automate and document its autogeneration process. 7 p The belief is that, succeding in this, the wizzi factory 8 + will be reusable for any other 9 + usefull generation purpose. Biological evolution says 10 + that this makes sense. 11 p For any of its operations the wizzi factory uses 12 + one basic component: the wizzi magical tree, 13 + or mTree for short. 14 p Therefore, before considering artifact generation concepts, we 15 + need to get acquainted with an mTree.
/src/ittf/models/docs/t/concepts/wizzijob.docs.ittf
1 concept Wizzi job 2 summary 3 p The wizzi job is the task runner of the wizzi factory. 4 p Software production processes may 5 + require long chains of model loadings, transformations and 6 + artifact generations. 7 + A wizzi job defines how to load context and language models, execute transformations, 8 + generate artifacts and persist them in their destination paths. 9 p Needless to say that a wizzi job is a wizzi model. It has schema 'wfjob' and is implemented in 10 + the wizzi-core plugin. 11 h4 Example of the wizzi job that produces this documentation html page. 12 ittf 13 - wfjob wizzi-docs-concepts 14 - 15 - var models_folder = path.join(__dirname, 'models'); 16 - var html_folder = path.join(__dirname, 'html'); 17 - var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 18 - models-base-folder ${dollar}{models_folder} 19 - model concepts 20 - src concepts.docs.ittf 21 - schema docs 22 - line html 23 - cwd-folder ${dollar}{html_folder} 24 - wfjob/artifact-html( concepts.html.ittf ) 25 - model-ref concepts 26 - transformer docs/preprint 27 - production 28 - dest-folder ${dollar}{dest_folder} 29 - line-ref html
/src/ittf/models/docs/t/concepts/wizzimodel.docs.ittf
1 concept Wizzi model 2 summary 3 p Wizzi models are javascript document object models, inspired by Xml document objects, 4 + that may validate and load an mTree. 5 p Wizzi models are described in terms of elements, attributes 6 + and relations. An element is a classifier and 7 + a relation is a relationship between elements. 8 ul In a wizzi model: 9 li An element may have one super element (abstraction) and many derived elements (specializations), 10 + may be abstract or concrete and may have a name and attributes. 11 li Relationships are one-to-many (default) and one-to-one. They 12 + do not have attributes. Both imply ownership of contained (child) elements: 13 + arrays (one-to-many) and single child (one-to-one). 14 li An attribute has a name and a value of a primitive type. 15 ul The tree structure of a wizzi model is mapped to a javascript <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript"> class</a>, where: 16 li Elements are (pseudo)class functions. 17 li Attributes are properties, with a primitive type, of element classes. 18 li One-to-many relationships are array of element classes on the related element class. 19 li One-to-one relationships are element classes on the related element class. 20 li Attributes and relationships are inherited from super elements. 21 p A wizzi model is the preferred template context object of the wizzi factory. 22 + It can expose properties and methods to the template processor 23 + and may speed up the construction of artifact generators. 24 p The wizzi factory uses wizzi models to describe and 25 + generate the javascript module that implement a wizzi model itself. 26 p As xml documents have xml schemas as well a wizzi model has a wizzi schema.
/src/ittf/models/docs/t/concepts/wizziplugin.docs.ittf
1 concept Wizzi plugin 2 summary 3 p The wizzi factory is made of a few kernel modules and 4 + an ecosystem of plugins exposing wizzi model types, model transformers and 5 + artifact generators. 6 p TODO
/src/ittf/models/docs/t/contribs/author-packages.ittf
1 object Author WizziPackages
/src/ittf/models/docs/t/contribs/improvements.docs.ittf
1 object Suggest improvements
/src/ittf/models/docs/t/contribs/issues.docs.ittf
1 object Report issues and suggest 2 summary 3 p Hello 4 < a 5 @ href https://guides.github.com/activities/contributing-to-open-source/
/src/ittf/models/docs/t/docs/artifact/core.docs.ittf
1 concept Wizzi core artifacts 2 summary 3 p The wizzi-core plugin exports some useful artifacts. 4 + We already have seen the artifacts for the psedo models 5 ul 6 li Json 7 li Xml 8 li Text 9 p There are also these others core artifacts 10 ul 11 li json/export 12 li xml/export 13 li ittf/document
/src/ittf/models/docs/t/docs/artifact/gencontext.docs.ittf
1 concept The gencontext object 2 summary 3 h4 The interface of the gencontext object 4 ittf 5 - 6 - # 7 - # Set line indentation to a given value 8 - m forceIndent 9 - param value 10 - # 11 - # Increase line indentation 12 - m indent 13 - param value 14 - # 15 - # Decrease line indentation 16 - m deindent 17 - param value 18 - # 19 - # Add a named value to the interpolation context 20 - m a 21 - param name 22 - param value 23 - # 24 - # Add a named value from the interpolation context 25 - m g 26 - param name 27 - # 28 - # Remove a named value from the interpolation context 29 - m r 30 - param name 31 - # 32 - # Write a text with interpolation and line feed 33 - m w 34 - param text 35 - # 36 - # Write a text with interpolation without line feed 37 - m write 38 - param text 39 - # 40 - # throw a NodeError exception 41 - m error 42 - param message 43 - param node 44 - # 45 - # throw an ArtifactGenerationError exception 46 - m artifactGenerationError 47 - param message 48 - param location 49 - param node
/src/ittf/models/docs/t/docs/artifact/implementation.docs.ittf
1 concept Generation implementation 2 summary 3 p An artifact generator produces a text document. The result of a 4 + generation is a buffer of text characters. The production 5 + of this text is driven by models contained in the 6 + parameters passed to the generator. 7 p An artifact generator receives three parameters: 8 ittf 9 - func gen 10 - { model 11 - | api-ref wizzi-plugin.wizziModel 12 - | POJO 13 - { ctx 14 - api-ref wizzi.artifact.genContext 15 - callback 16 ul 17 li A model, a javascript object, that can be a wizzi model or a POJO, 18 + and represent the main object context of the artifact generation, 19 + the model that drives the generation. 20 li An instance of the wizzi.artifact.genContext class that contains 21 ul 22 li An in-memory buffer where the generated text is written 23 + sequentially using write and write line methods. 24 li A data context that may contain zero or many secondary 25 + context models, wizzi models or POJO. 26 li Some helper functions for text indentation, interpolation 27 + and error management. 28 li A callback function that a succesfull generation must call 29 + passing, as a second parameter, an instance of the 30 + wizzi.artifact.genContext with the text buffer containing 31 + the generated artifact 32 p An artifact generation can be code write based, using the write statements 33 + of the wizzi.artifact.genContext instance, or template based. 34 + The wizzi factory uses both systems with a preference, when convenient, 35 + for the template based one, and uses the mTree loader as its preferred 36 + template engine. 37 h3 Code generation by term rewriting 38 p The mTree loader, implemented by the wizzi-mtree.loader.loadMTree API method, is 39 + a powerfull model composer and transformer. 40 + Model transformations can be 41 + chained: an output mTree can become the input context for the next 42 + mTree loading. A 'wfjob' model can orchestrate any number of cascading 43 + transformations. 44 + The models passed to the artifact generator are the final 45 + models, ripe and ready for generating the textual artifact. 46 p A template based generation, that uses the mTree loader, 47 + can be, indeed, more a code generation by term rewriting 48 + than a textual code generation. When mTrees are loaded into wizzi models, 49 + that can apply types and validations, and can programmatically modify the model, 50 + we have a tool for efficiently enabling any extension of the target 51 + language, easily implementing partial classes or any other modular 52 + aspect or rewrite rule. 53 h3 Language schemas and language artifact generators 54 p Focusing on the generation of 55 + the textual content of an artifact, we must treat of a class 56 + of wizzi model types that is specific for the production 57 + of code targeting the synthax of a programming languages (PL). 58 p A language schema defines a tree structure 59 + that an associated language artifact generator can transform 60 + in a targeting PL code. It can be viewd as a profile of a PL Grammar that 61 + can be implemented partially, 62 + with some of its symbols stereotyped. The schema developer should try 63 + to find the optimal balance between ease of use and completeness and 64 + define the proper approximation of the schema in respect to the PL grammar. 65 p Must be said that language schema is a concept. A language schema is 66 + like any other wizzi schema and a language artifact is 67 + like any other artifact generator. The production of specific tools for 68 + creating language schemas and artifacts could be 69 + undertaken in the future. 70 p The wizzi factory, that is generated by the wizzi factory, 71 + uses some language schemas for its generations: 72 ul 73 li The js schema in the wizzi-js plugin. 74 li The html and css schemas in the wizzi-html plugin. 75 li The md (markdown) schema in the wizzi-docs plugin. 76 h3 Template based artifact generation 77 p Wizzi models which type is a language schema are the ideal template 78 + format for a wizzi factory template based artifact generation. 79 h4 This is an example of a js ittf document. 80 ittf 81 - module 82 - kind jsfile 83 - class Horse 84 - super Animal 85 - ctor 86 - param name 87 - base name 88 - m say 89 - log 'Hiiii i am ' + this.name 90 - m create 91 - static 92 - param name 93 - return 94 - new Horse 95 - @ name 96 p Almost every ittf node maps to a node type of the javascripts AST. And 97 + ittf nodes can be template node commands and can contain expressions. 98 h4 Example of template based implementation of the wizzi-plugin.artifactGenerator API 99 p In this dummy example, a 'js' ittf document template, 100 + named 'datalayer/adapters.js.ittf' 101 + is transformed in the javascript textual code of a fictitious datalayer 102 + adapter component. 103 p This example artifact generator makes use internaly of a 'js' language 104 + artifact generator, named 'js/module'. The model that it receives as 105 + the first parameter, that has been loaded in previous steps, becomes 106 + the mTreeBuilUpContext object for loading the mTree of the template. 107 + It must be a wizzi model of type 'rdbms' otherwise an error 108 + is returned in the callback. 109 p The template is loaded, and transformed in a textual artifact, calling 110 + the 'loadModelAndGenerateArtifact' method of the current instance of 111 + the wizzi.wizziFactory class, exposed in the property 'wizziFactory' 112 + of the 'ctx' parameter (an instance of the wizzi.artifact.genContext class). 113 ittf 114 - module 115 - kind jsfile 116 - 117 - var path = require('path') 118 - var md = module.exports = {} 119 - var myname = 'artifact rdbms.adapters.main'; 120 - 121 - set md.gen 122 - function 123 - { model 124 - { ctx 125 - callback 126 - # check the model is a wizzi model of type 'rdbms' 127 - if model.wzElement !== 'rdbms' 128 - return 129 - callback 130 - _ctx.error 131 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model" 132 - @ model 133 - # build the artifact template path, it is a js ittf document in a sub folder 134 - var ittfTemplatePath 135 - _ path.join 136 - @ __dirname 137 - @ 'ittf' 138 - @ 'datalayer' 139 - @ 'adapters.js.ittf' 140 - # call the wizzifactory method for loading a language wizzi model and 141 - # generate a language artifact from it. Pass the input model in the 142 - # mTreeBuildUpContext property of the request object argument. 143 - # The 'js' schema of the template model is detected by its filename. 144 - _ ctx.wizziFactory.loadModelAndGenerateArtifact 145 - @ ittfTemplatePath 146 - { 147 - @ mTreeBuildUpContext model 148 - @ 'js/module' 149 - function 150 - param err 151 - param artifactText 152 - if err 153 - # invoke the callback on error, passing back the loadModelAndGenerateArtifact error 154 - return 155 - _ callback 156 - err 157 - # write the artifactText into the genContext buffer 158 - _ ctx.write(artifactText) 159 - # invoke the callback on success, passing back the genContext 160 - _ callback(null, ctx)
/src/ittf/models/docs/t/docs/artifact/index.docs.ittf
1 concept Artifact generators 2 summary 3 p Artifact generators are contained in wizzi plugins and are exposed to 4 + the wizzi factory implementing the wizzi-plugin.factoryPlugin API. 5 p The wizzi-plugin.factoryPlugin.getArtifactGenerator(artifactKey) method 6 + returns a wizzi-plugin.artifactGenerator interface for generating 7 + the requested `artifactName`. 8 h4 wizzi-plugin.artifactGenerator API 9 ittf 10 - { 11 - func gen 12 - { model 13 - | api-ref wizzi-plugin.wizziModel 14 - | POJO 15 - { ctx 16 - api-ref wizzi.artifact.genContext 17 - callback 18 p Plugins authors are free to implement this interface with their 19 + preferred tools. 20 p In this documentation section we describe solutions that the wizzi 21 + factory has taken for its own artifact generators. 22 h4 Wizzi factory standard artifact generators location 23 p Artifact generators should have a standard location in the 24 + plugin package. 25 ittf 26 - ... 27 - `package-name` 28 - lib 29 - artifacts 30 - `wfschema-name` 31 - `artifact-name` 32 - gen 33 - main.js 34 p The file 'main.js' is the module that exposes 35 + the wizzi-plugin.artifactGenerator interface for the 36 + artifact of key: `wfschema-name`/`artifact-name`. 37 p This artifact key must be unique in the plugins configuration 38 + of the wizzi.wizziFactory instance that is executing the generation. 39 h4 Example of 'generator' attribute in a 'wfjob' 40 p The `wfschema-name`/`artifact-name` artifact key 41 + is the value to be declared in the generator attribute of the 42 + artifact element of a 'wfjob' ittf document. 43 ittf 44 - wfjob job-name 45 - ... 46 - line line-name 47 - artifact `artifact-generation-description` 48 - ... 49 - generator `wfschema-name`/`artifact-name` 50 - ... 51 p TODO The wizzi-plugin.factoryPlugin API could provide a method for 52 + assigning aliases to named resources of the plugin allowing to 53 + avoid name collisions without modifications to the plugin code.
/src/ittf/models/docs/t/docs/artifact/ittfdocument.ittf
1 concept ittf/document core artifact 2 summary 3 p The 'ittf/document' core artifact exports the ittf 4 + representation of a loaded mTree. 5 + This allow the buildup of ittf documents 6 + using the mTree loader for 7 + merging sources and contexts and using JsWizzi 8 + for manipulating them. 9 h4 Sample wizzi job using the 'ittf/document' generator. 10 ittf 11 - wfjob 12 - model styles 13 - src styles.json.ittf 14 - schema json 15 - model layout 16 - src layout.json.ittf 17 - schema json 18 - model options.forms 19 - src options.form.ittf 20 - schema form 21 - line ui 22 - artifact ittf document of model options-page.html.ittf 23 - src options-page.html.ittf 24 - schema ittf 25 - generator ittf/document 26 - extension ittf 27 - model-ref styles 28 - model-ref layout 29 - model-ref options.forms
/src/ittf/models/docs/t/docs/artifact/jsonexport.docs.ittf
1 concept json/export core artifact 2 summary 3 p The json/export core artifact can be used in a wizzi job, 4 + to save in a file the json representation of 5 + a wizzi model, when its wizzi schema 6 + declare the export-to json element. 7 h4 Sample wfjob artifact element using the json/export artifact. 8 ittf 9 - wfjob 10 - ... 11 - artifact json export of model sample.form.ittf 12 - src sample.form.ittf 13 - schema form 14 - generator json/export 15 - extension json
/src/ittf/models/docs/t/docs/artifact/sample.docs.ittf
1 concept Sample artifact generators 2 summary 3 h4 Code write artifact generator sample 4 ittf 5 - module 6 - kind jsfile 7 - 8 - var md = module.exports = {} 9 - var myname = 'artifact rdbms.sqltables.main'; 10 - 11 - set md.gen 12 - function 13 - param model 14 - param ctx 15 - param callback 16 - if model.wzElement !== 'rdbms' 17 - return 18 - callback 19 - _ctx.error 20 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model" 21 - @ model 22 - 23 - $foreach table in model.tables 24 - _ ctx.a('TABLE', table.wzName) 25 - _ ctx.w('declare table TABLE') 26 - ... 27 - _ callback(null, ctx) 28 h4 Ittf document artifact generator sample 29 ittf 30 - module 31 - kind jsfile 32 - 33 - var path = require('path') 34 - var wizzi = require('wizzi') 35 - var md = module.exports = {} 36 - var myname = 'artifact rdbms.sqltables.main'; 37 - 38 - set md.gen 39 - function 40 - param model 41 - param ctx 42 - param callback 43 - if model.wzElement !== 'rdbms' 44 - return 45 - callback 46 - _ctx.error 47 - @ myname + " error: the model paramater should be an 'rdbms' wizzi model" 48 - @ model 49 - 50 - var ittfTemplatePath 51 - _ path.join 52 - @ __dirname 53 - @ 'ittf' 54 - @ 'sqltables.sql.ittf' 55 - _ wizzi.fsnoaclFactory 56 - # TODO 57 - _ callback(null, ctx)
/src/ittf/models/docs/t/docs/artifact/xmlexport.docs.ittf
1 concept xml/export core artifact 2 summary 3 p The xml/export core artifact can be used in a wizzi job, 4 + to save in a file the xml representation of 5 + a wizzi model, when its wizzi schema 6 + declare the export-to xml element. 7 h4 Sample wfjob artifact element using the xml/export artifact. 8 ittf 9 - wfjob 10 - ... 11 - artifact xml export of model sample.form.ittf 12 - src sample.form.ittf 13 - schema form 14 - generator xml/export 15 - extension xml
/src/ittf/models/docs/t/docs/introduction/index.docs.ittf
1 concept Introduction 2 summary 3 p Software Artifacts are generated by <a href="#WizziFactoryProduction">WizziFactoryProductions</a>. 4 ul To setup productions you must build <a href="#WizziFactoryPackage">WizziFactoryPackages</a> that expose: 5 li WizziSchemas 6 li WizziModelTypes 7 li WizziModelFactories 8 li WizziModelTransformers 9 li ArtifactGenerators 10 ul There are 4 standard packages on which you can build a WizziPackage: 11 li wizzi-core 12 li wizzi-ittf 13 li wizzi-schema 14 li wizzi-factory 15 P A fifth standard package, wizzi-legacy, contains the implementation 16 + of some WizziLanguageSchemas of a previous sperimental version of the Wizzi Factory 17 + that are used for bootstrapping the project. They are the js (javascript), html, css and 18 + json WizziLanguageSchema. 19 p This documentation describes the structural and behavioural components of the standard packages. 20 p For a step by step tutorial on how to build the first WizziPackage and the first 21 + WizziFactoryProduction go to the <a href="starter.js">Starter</a> section. 22 p To search prototypes that you may integrate into your solutions 23 + go to the <a href="labs.js">Labs</a> section. 24 p The wizzi-legacy package is not used to build Starter and Labs 25 + WizziPackages; they develop their own versions of WizziLanguageSchemas.
/src/ittf/models/docs/t/docs/jobs/index.docs.ittf
1 concept The production manager 2 summary 3 p The production of complex software systems can 4 + require a great number of model processing, transformations 5 + and artifact generations. 6 p The wizzi.production.productionManager class implements an 7 + api for scheduling complex jobs. It is the wizzi factory 8 + task manager. 9 p A wizzi model type implemented by the 'wizzi-core' plugin , the 'wfjob' schema, 10 + can be used to describe wizzi factory jobs. A 'wfjob' model organizes models processing 11 + and artifact generations in production lines that are executed in 12 + sequence, so that a line can prepare models and artifacts for the next one. 13 p A job is executed calling the following method of the 14 + wizzi.wizziFactory instance class. 15 ittf 16 - ... 17 - m executeJob 18 - { jobRequest 19 - string name 20 - # for info and error messages 21 - string path 22 - # path to the 'wfjob' ittf document that the wizzi.production.productionManager will load. 23 - { productionOptions 24 - boolean verbose 25 - # not implemented yet 26 - { globalContext 27 - optional 28 - callback
/src/ittf/models/docs/t/docs/jobs/runnerServer.docs.ittf
1 concept The 'runnerServer" execution environment. 2 summary 3 p When the wizzi factory is used in a server application, 4 + or in a long running process where many jobs are 5 + executed, is useful to access some factory 6 + services, prepared on startup, directly from the 7 + jswizzi code inside ittf documents. 8 p There are two jswizzi global functions for this 9 + purpose. 10 ul 11 li $.api( functionName, ... arguments ... ) 12 p Allow to call a user function declared on start up. 13 li $.loadModel( modelName ) 14 p Allow the retrieval of a wizzi model preloaded on start up. 15 h3 The wizzifile.js 16 p ... TODO ... 17 h4 Event handler wizzifile.onConfig( config ) 18 p This event is raised before creating the runnerServer instance. 19 + At this point we can call the config.get(propertyName) and 20 + config.set(propertyName, value) methods on the config object. 21 h4 Event handler wizzifile.onStart( runnerServerInstance, config ) 22 p This event is raised before the initialization of the wizzi factory 23 + contained in the runner server. At this point we can call the 24 + runnerServerInstance.registerApi(name, function) method, the 25 + runnerServerInstance.registerPlugin(pluginNameOrPath) method 26 + and the runnerServerInstance.registerGlobalContext(object) method. 27 h4 Event handler wizzifile.onPrepare( runnerServerInstance, config ) 28 p This event is raised when the wizzi factory contained in the runner server 29 + has benn initialized. Now it is forbidden to call the 30 + registerPlugin and registerGlobalContext methods but we 31 + can call the runnerServerInstance.loadModel and 32 + runnerServerInstance.transformModel methods.
/src/ittf/models/docs/t/docs/jobs/wfjob.docs.ittf
1 concept The 'wfjob" schema 2 summary 3 p The wfjob schema, implemented by the wizzi-core plugin, 4 + is the configuration schema of the production manager, 5 + the wizzi task manager. 6 ul The wfjob elements are 7 li Wfjob 8 li Model 9 li ModelRef 10 li Line 11 li LineRef 12 li Artifact 13 li Production 14 h3 The WfJob element 15 ittf 16 - wfjob `name` 17 - # For info and error messages 18 - string title `short-description` 19 - # For info and error messages 20 - string models-base-folder `path` 21 - # The base path to use when the 'src' attribute of models is a relative path 22 - string dest-base-folder `path` 23 - # The base path of the destination folder of artifacts generated by this job 24 - # Can be overridden by the 'dest-folder' attribute of Line elements 25 - [ models 26 - [ lines 27 - [ productions 28 h3 Model element 29 p A model can be: 30 ul 31 li An ittf documents targeting a wizzi schema exposed by a plugin 32 + loaded in the wizzi.wizziFactory instance that is executing the job. 33 li A POJO module coded in one of these known formats: 'json', 'nodejs' 34 + module exporting the function 'toModel'. 35 ittf 36 - ... 37 - model `model-name` 38 - string src `path` 39 - # The source path of the ittf document or POJO module. 40 - # When relative the base path is the 'models-base-folder' attribute of the 41 - # WfJob element. 42 - string schema `schema-name` 43 - # The name of the wizzi model type (wfschema) that will load the 44 - # mTree defined in the source ittf document. 45 - # Is alternative to the 'format' attribute. 46 - string format `format-name` 47 - One-of 'json', 'nodejs' 48 - # Is alternative to 'schema' attribute. 49 - string dump-file `path` 50 - [ modelRefs 51 - # References to the models to be used, as properties of the mTreeBuildUpContext 52 - # parameter, passed to the wizzi-mtree.loader.loadMTree function, 53 - # for loading the model mTree. 54 h3 ModelRef element 55 ittf 56 - ... 57 - model-ref `model-name` 58 - string export-name `name` 59 - [ transformers 60 h3 Line element 61 p Production lines declare artifacts that are processed asynchronously and 62 + concurrently. 63 ittf 64 - ... 65 - line `line-name` 66 - string cwd-folder `path` 67 - string dest-folder `path` 68 - [ artifacts 69 h3 Artifact element 70 p An Artifact element declares one artifact production that is driven by a 71 + source model. Each production has one driver model, but an Artifact element 72 + can result in many production because the 'src' attribute of this element 73 + may refer to: 74 ul 75 li one single source model 76 li a group of source models described by a glob pattern 77 li one single source model which Model element declares a model collection 78 + property, meaning that each item of the collection is a source model 79 + of the production and produces one artifact. 80 ittf 81 - ... 82 - artifact `artifact-name` 83 - # For info and errors messages. 84 - string src `path` | `glob-pattern` 85 - # Can be: 86 - # . the path of a final artifact that must be simply copied in the destination path. 87 - # . the glob-pattern of final artifacts that must be simply copied in the destination path. 88 - # . the path of a source ittf document 89 - # . the glob-pattern of sources ittf documents 90 - schema `schema-name` 91 - # When the 'src' attribute is the path of an ittf document, is the wizzi 92 - # model type (wfschema) that will load and validate the document. 93 - # Is alternative to the 'format' attribute. 94 - # Can be null if the artifact is a final artifact. 95 - ignore `path` | `glob-pattern` 96 - # Files returned by the 'src' attribute glob-pattern that are to be ignored. 97 - # Can be a glob pattern. 98 - generation `artifact-generator-name` 99 - # The name of the artifact generator that will produce the artifact. 100 - # When the artifact is a final artifact must be omitted. 101 - dest-path `artifact-file-path` 102 - # The 'src' attribute is the default 103 - # relative destination path of the generated artifact, 104 - # but, when set, this attribute overrides the default. 105 - # It may be an absolute path. 106 - extension `artifact-file-extension` 107 - # The path extension of the generated artifact. 108 - # Optional. The default is the 'src' atribute path extension without 109 - # the ending '.ittf' string. 110 - # Child elements 111 - [ modelRefs 112 h3 Production element 113 p Production elements contain a list of references to previously declared 114 + production lines that must be sequentially executed. 115 ittf 116 - ... 117 - production 'production-name' 118 - string dest-folder `path` 119 - [ lineRefs 120 h3 LineRef element 121 ittf 122 - ... 123 - line-ref `line-name` 124 h4 Example of the wizzi job that produces this documentation html page. 125 ittf 126 - wfjob wizzi-docs-concepts 127 - 128 - var models_folder = path.join(__dirname, 'models'); 129 - var html_folder = path.join(__dirname, 'html'); 130 - var dest_folder = "c:/my/wizzi/github/wizzifactory.github.io"; 131 - models-base-folder ${'$'}{models_folder} 132 - model concepts 133 - src wizzi-jobs.docs.ittf 134 - schema docs 135 - line html 136 - cwd-folder ${'$'}{html_folder} 137 - wfjob/art-wo-html( docs.html.ittf ) 138 - model-ref concepts 139 - transformer docs/preprint 140 - production 141 - dest-folder ${'$'}{dest_folder} 142 - line-ref html
/src/ittf/models/docs/t/docs/mtree/t/tr.docs.ittf
1 tr 2 $params name, value|@@null 3 td ${name} 4 td 5 $if value != null 6 + ${value} 7 $hook
/src/ittf/models/docs/t/docs/mtree/index.docs.ittf
1 $group 2 $include ./ittf-document 3 $include ./ittf-notation 4 $include ./xml-comparision 5 $include ./ittf-composition 6 $include ./ittf-templates 7 $include ./ittf-codeunits
/src/ittf/models/docs/t/docs/mtree/ittf-codeunits.docs.ittf
1 concept Ittf documents as code units 2 summary 3 p We have seen that primary and mixed mTreeBricks have their own evaluation context. 4 + An mTree loading also has a global evaluation context, where are loaded 5 + javascript components that jswizzi can safely access and the context objects 6 + passed to the wizzi-mtree.loader.loadMTree function. 7 p Template node commands and expressions contained in node names and node values can 8 + access the global context and the evaluation context of their mTreeBrick. 9 p With code node commands we can declare statements that modify or create variables 10 + in both the evaluation contexts. 11 h3 The '$' code node command 12 p Can be used to declare single line or multi-line jswizzi-statements, that 13 + during the evaluation step, are executed in the mTreeBrick scope 14 + to which the node command belongs. 15 p They may declare and modify variables that have mTreeBrick scope, and 16 + modify variables that have global scope. 17 h4 Single line format 18 ittf 19 - ... 20 - $ jswizzi-statement 21 h4 Example 22 ittf 23 - ... 24 - $ var names = ['stefi', 'annie']; 25 h4 Multi-line format 26 ittf 27 - 28 - jswizzi-statement 29 - jswizzi-statement 30 - ... 31 h4 Example 32 ittf 33 - ... 34 - 35 - var names = ['stefi', 'annie']; 36 - var j = 0; 37 h3 The $global code node command 38 p Can be used to declare single line or multi-line jswizzi-statements, that 39 + during the evaluation step, are executed in the global scope. 40 p They may modify variables that have mTreeBrick scope, and 41 + create and modify variables that have global scope. 42 h4 Single line format 43 ittf 44 - ... 45 - $global jswizzi-statement 46 h4 Multi-line format 47 ittf 48 - $global 49 - jswizzi-statement 50 - jswizzi-statement 51 - ...
/src/ittf/models/docs/t/docs/mtree/ittf-commandnodes.docs.ittf
1 concept Ittf node commands 2 summary 3 h3 $include 4 p Format: 5 ittf 6 - ... 7 - $include include-path 8 p The node value (include-path) is the relative path to the ittf 9 + document that must be included. The folder uri of the 10 + includer document is the base path for the path resolution 11 + of composed documents. 12 p The included mTreeBrick will be included as is, replacing 13 + the $include node command, and its nodes will become part of the 14 + scope of the includer. 15 p An $include node command cannot have children nodes. The included 16 + mTreeBrick cannot have brick composition parameters. 17 h3 Mixin inclusion (alias mixer node) 18 p Format: 19 ittf 20 - ... 21 - mixin-path( arg-1 [, arg-2 ... [, arg-n]] ) 22 - [ optional ittf node branch ] 23 p A mixin inclusion is recognized by the line parser when a node name 24 + ends with an open parenthesis. The chars before the open parenthesis 25 + are the relative path to the mixed ittf document. The folder uri of 26 + the mixer ittf document is the base path. 27 + No whitechar must separate the mixin path and the open paren. 28 p The mixed mTreeBrick is inserted in the mixer one replacing 29 + the mixin inclusion node command. If the mixer node has children 30 + they, by default, are appended to the root node of the mixed mTreeBrick. 31 + But if the mixed brick has a descendant node that is a '$hook' 32 + node command of name 'default', than the children of the mixer node 33 + will replace it. 34 p Example of mixin with an $hook node command where children 35 + of the mixer node will be appended. The hook-name is not declared, 36 + so it is assumed to be 'default'). 37 ittf 38 - table 39 - $hook 40 p The root node of a mixed ittf document can be a mixin inclusion node command: 41 ittf 42 - mylayout( home ) 43 - div My content 44 h3 $params 45 p Format: 46 ittf 47 - rootnode 48 - $params param1 [,param2 [,param-n]] 49 table 50 tr( param, [&]name[:type][|default] ) 51 tr( & , the paramater is an object passed by reference ) 52 tr( name , the name of the parameter to be used in IttfMacro expressions ) 53 tr( type , the parameter type) 54 p one-of: string(default), integer, float, boolean, date, object (implicit 55 + when '&' declared), macro (implicit, detected from IttfMacro delimiters 56 + contained in the default value) 57 tr( default, typed-value | @@null | @@undefined ) 58 p warning! `title|null` becomes title = "null" (the quoted string null) 59 br 60 + if you want title to be null then : `title|@@null` 61 tr( string, quotes are optional, example: `title|"my way"` and `title|my way` are the same ) 62 tr( boolean, true | false) 63 tr( date, yyyy/mm/dd ) 64 tr( macro) 65 p an IttfMacro can be passed as a parameter to a mixin, when the parameter 66 + is referenced we have a double macro substitution 67 p Example: 68 ittf 69 - li 70 - $params text, href 71 - a ${'$'}{text} 72 - href ${'$'}{href} 73 h3 $hook 74 p Format 75 ittf 76 - ... 77 - $hook name 78 p An $hook node command is a named insertion point where node branches can 79 + be appended. The name is optional, when missing its value is 'default'. 80 p It has to be replaced and must not have children nodes. 81 p See the statements MixinCall and AppendHookCall, for how to append 82 + IttfNodeBranches to an $hook node. 83 h3 $append 84 p Format 85 ittf 86 - ... 87 - $append hook-name 88 - ... node branch ... 89 p An $append node command is the root of a node branch that should be 90 + appended to an ancestor $hook of name hook-name. 91 + The $append children nodes replace the $hook node. 92 h3 $group 93 p Format 94 ittf 95 - $group empty-value 96 - ... node branch ... 97 p An ittf document must have one and only one root node. 98 p The $group node command is a convenience node that may be used, as the root of 99 + an included or mixed mTreeBrick, that must have more than one root node. 100 p The $group node disappear in the builded mTree. 101 h3 $if, $elif, $else 102 p Children nodes of these node commands are included/excluded from the builded mTree 103 + depending on the value of the expression. 104 p Format: 105 ittf 106 - ... 107 - $if jswizzi-expression 108 - ... node branch ... 109 - $elif jswizzi-expression 110 - ... node branch ... 111 - $else empty-value 112 - ... node branch ... 113 h3 $foreach 114 p Format: 115 ittf 116 - ... 117 - $foreach item-name in collection-name 118 - ... node branch ... 119 p Descendant nodes of this node command are a repeat template; item-name 120 + is user defined and collection-name is a jswizzi expression that evaluates 121 + to an iterable javascript object, in scope in the mTreeBrick or in the global 122 + jsWizziContext. 123 p The var statement that declares item-name is auto-generated. 124 p Descendant nodes are repeated having item-name as a value in scope. 125 h3 $break, $continue 126 p Format: 127 ittf 128 - ... 129 - $break empty-value 130 - ... 131 - $continue empty-value 132 p This statements have the same meaning than in javascript but operate breaking or continuing 133 + the template repetition. 134 p A label for continuation is not implemented. 135 h3 $while 136 p Format: 137 ittf 138 - ... 139 - $while jswizzi-expression 140 - ... node branch ... 141 - $ jswizzi-exit-condition-change 142 p This is a repeat template statement where descendant nodes are repeated 143 + until the jswizzi-expression evaluates to false. 144 p $ or $global node commands must be used to modify the context values of the exit condition. 145 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised. 146 h3 147 p Single line format: 148 ittf 149 - ... 150 - $ jswizzi-statement 151 p Multi-line format: 152 ittf 153 - 154 - jswizzi-statement 155 - jswizzi-statement 156 - ... 157 p Descendant nodes of this command can contain jswizzi statements that, 158 + during the evaluation step, are executed in the mTreeBrick scope 159 + to wich the node command belongs. 160 p They may declare and modify variables that have mTreeBrick scope, and 161 + modify variables that have global scope. 162 h3 $global 163 p Single line format: 164 ittf 165 - ... 166 - $global jswizzi-statement 167 p Multi-line format: 168 ittf 169 - $global 170 - jswizzi-statement 171 - jswizzi-statement 172 - ... 173 p Descendant nodes of this command can contain jswizzi statements that, 174 + during the evaluation step, are executed in the global scope of the jsWizziContext. 175 + They may declare or modify variables in the global scope. 176 h3 $. 177 p Format: 178 ittf 179 - ... 180 - $. 181 - free content 182 - free content 183 - ... 184 h3 $$ 185 p Format: 186 ittf 187 - ... 188 - ul 189 - $$ <rest-of-line is comment> 190 - li item $$ <rest-of-line is comment> 191 h3 $* ... * 192 p The multiline comment 193 p Format: 194 ittf 195 - ... 196 - $* 197 - ul 198 - li 199 - *
/src/ittf/models/docs/t/docs/mtree/ittf-composition.docs.ittf
1 concept Ittf documents composition 2 summary 3 p An ittf document, when loaded, become a javascript object named mTreeBrick. 4 p mTreeBricks are composition units. They can mix, or include, other bricks and can 5 + be mixed, or included. 6 + The mix or include operation is declared on a node of the mixer or includer brick, 7 + that will be replaced from the nodes of the mixed or included one. 8 p An mTree loading begins loading a primary ittf document, that become the primary 9 + mTreeBrick, the starting point of the composition. Included and mixed 10 + ittf documents are named composed ittf documents that become composed 11 + mTreeBricks. 12 p A single mTreeBrick can be composed many times in different positions of 13 + the builded mTree. It is loaded once, and cloned for composition. 14 p Include and mix operations have a different behaviour. When included, cloned mTreeBricks, 15 + become part of the includer brick and their nodes acquire its brick key and 16 + its brick evaluation context. Instead, mixed mTreeBricks, are inserted in the 17 + node structure of the mixer, but each of them mantains its original brick key 18 + and brick evaluation context. When coding an ittf document, that will become a 19 + mixed mTreeBrick, created variables will have a scope limited to the nodes declared 20 + in the document, even if they will be merged in the mixer brick. 21 p Summarizing: primary and mixed mTreeBricks have their own evaluation context, included 22 + mTreeBricks use the evaluation context of their includer. 23 p In case of a mixed mTreeBrick the mixer node can have children nodes that in turn 24 + can replace 'hook' nodes of the mixed brick. See the '$hook' and '$append' 25 + ittf command nodes for the composition rules of a mix operation.
/src/ittf/models/docs/t/docs/mtree/ittf-document.docs.ittf
1 concept Ittf document 2 summary 3 p Ittf, Indented Text Tree Format, is a document type for 4 + declaring and transferring a textual representation of 5 + a tree structure of name-valued nodes. 6 p Ittf documents are building blocks, made to be loaded and composed into a 7 + javascript tree structure, named mTree. 8 p A single ittf document, when loaded, becomes an mTreeBrick, a composition element 9 + that can include or mix other mTreeBricks and can in turn be included or mixed. 10 p Ittf documents also can be templates or pieces of templates. They can contain 11 + conditional or repeat template node commands and can use context objects, 12 + passed to the mTree load function, for creating new nodes of the composed mTree. 13 p Further ittf documents can be code units, and can codify statements and expressions using 14 + a sandboxed subset of the ECMA-262 javascript standard named 'jswizzi'. Statements can create, 15 + and modify, variables (in the evaluation context of an mTreeBrick or in the global 16 + evaluation context) that template node commands can use to select or create nodes. 17 p We will see next: 18 ul 19 li The ittf notation 20 li Ittf documents composition 21 li Ittf template node commands 22 li Ittf documents as code units
/src/ittf/models/docs/t/docs/mtree/ittf-notation.docs.ittf
1 concept Ittf notation 2 summary 3 p Documents are made of 'phisical' text lines separated by a: 4 ul 5 li x'000a' char or 6 li x'000d' char or 7 li x'000a' + x'000d' couple of chars 8 p A line is made of a node-name and a node-value separated by a 9 + white-char (space or tab). 10 ittf 11 - name value 12 - name value 13 p Node-values always are trimmed, you cannot have a node-value 14 + that starts or ends with a white-char sequence. 15 p Example. When loaded, both these nodes will containg the 'value' string in the node-value. 16 ittf 17 - name1 value 18 - name2 value 19 p The node hierarchy is built calculating the indentation of node-names 20 + in a text line. Every tab or every 4 space chars preeceding a node-name 21 + count for one level of indentation. 22 p The node-name of the first line (the root node-name) must have indentation zero. 23 + The node-name must start at column 1 (1-based) of the first row. 24 p An ittf document cannot have more than one root node. If the semantic of a 25 + document require more than one root node one can use the convenience '$group' 26 + node command. It may be used as the root node of a composed document (included 27 + or mixed) and is ignored during the mTree build up so its children logically become 28 + root nodes of the document. 29 p Example. Ittf document with two root nodes. 30 ittf 31 - $group 32 - root1 value1 33 - root2 value2 34 p A line become a node which parent is the first preceeding line with a lesser 35 + indentation. 36 p Phisical text lines may have line continuatios and a 'logical' line 37 + may contain many phisical lines. There are three pre-defined 38 + node-names that allow line continuation: 39 ul 40 li '\' means that the node-value is joined to the node-value 41 + of the parent node without separation. 42 li '\b' means that the node-value is joined to the node-value 43 + of the parent node with one space char separator. 44 li '\n' means that the node-value is joined to the node-value 45 + of the parent node with one Line Feed char separator. 46 p Example of line continuation. Both 'name1' and 'name2' have the same value. 47 ittf 48 - root 49 - name1 I am 50 - \b a single 51 - \b line 52 - name2 I am a single line 53 p Node names and values are text strings by design, and never require quotes 54 + (they are unquoted by the lexer). The wizzi factory is a text manipulator. 55 + If the semantic of a node-value require that it is treated as a different type 56 + (boolean, integer, float or date), that can be done using wizzi schemas, 57 + that apply types to the tree structure resulting from loading an ittf 58 + document (see mTrees). 59 p One exception to this rule is when an argument is passed to a mixed ittf document, 60 + and will become part of its evaluation context. Types different from string 61 + can be usefull in jswizzi statements and expessions. The '$params' node command, that 62 + declares the parameters received by a mixed ittf document, may assign a type to 63 + passed arguments. 64 p In any case the lexer do not detect types. When needed they must be declared.
/src/ittf/models/docs/t/docs/mtree/ittf-templates.docs.ittf
1 concept Ittf templates 2 summary 3 p mTreeBricks are composable templates, and their nodes can contain template node commands 4 + and jswizzi expressions, that will be processed in the final step 5 + of the mTree loading: the evaluation step. 6 p The buildup of the resulting mTree can create new nodes using repeat node commands 7 + like '$foreach' and '$while' and can include or exclude node branches 8 + using '$if', '$elif' and '$else' conditional node commands. 9 p jswizzi statements and expression are executed in the mTreeBrick evaluation context 10 + and may access global context variables. 11 h3 $foreach repeat node command 12 p Format 13 ittf 14 - ... 15 - $foreach item-name in collection-name 16 - ... node branch ... 17 p Descendant nodes of this node command are a repeat template; item-name 18 + is user defined and collection-name is a jswizzi expression that evaluates 19 + to an iterable javascript object, in scope in the mTreeBrick or in the global 20 + jsWizziContext. 21 p The var statement that declares item-name is auto-generated. 22 p Descendant nodes are repeated having item-name as a value in scope. 23 h3 $while repeat node command 24 p This is a repeat template statement where descendant nodes are repeated 25 + until the jswizzi-expression evaluates to false. 26 p $ or $global node commands must be used to modify the context values of the exit condition. 27 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised. 28 p TODO make the limit of 10000 iterations configurable and an optional parameter of the loadMTree function. 29 p Format: 30 ittf 31 - ... 32 - $while jswizzi-expression 33 - ... node branch ... 34 - $ jswizzi-exit-condition-change 35 h3 $break, $continue repeat node commands 36 p This statements have the same meaning than in javascript but operate 37 + breaking or continuing the template repetition. 38 p A label for continuation is not implemented. 39 p Format: 40 ittf 41 - ... 42 - $foreach ... | $while ... 43 - $break empty-value 44 - ... 45 - $continue empty-value
/src/ittf/models/docs/t/docs/mtree/js-wizzi.docs.ittf
1 concept JsWizzi 2 summary 3 p JsWizzi is a subset of the ECMA-262 javascript standard used by 4 + the wizzi factory for processing ittf documents and buildup mTrees. 5 + JsWizzi is built on the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure 6 + and is run by a custom javascript engine (JsWizziRunner). 7 p Ittf documents may contain Js-Wizzi statements in 8 ul 9 li The value part of domain nodes (ittf node values are interpolated) 10 ittf 11 - caption ${dollar}{ name.capitalize() } 12 li Conditional expression of $if, $elif, $while command nodes 13 ittf 14 - $if name.substring(1,2) === 'is' 15 li Collection name of $foreach command node 16 ittf 17 - $foreach item in model.getCollection('alfa') 18 li Body of $ and $global command nodes 19 ittf 20 - $ var beta = 100 21 p Sample JsWizzi expressions and statements. 22 ittf 23 - ul 24 - $ var i = 0; 25 - $while i < 10 26 - li counting ${dollar}{i} 27 - $ i++; 28 p The esprima syntax tree format is expected to be compatible 29 + with the Mozilla SpiderMonkey Parser API. 30 ul Node types implemented by JsWizzi: 31 li VariableDeclaration 32 li Statements 33 ul 34 li EmptyStatement 35 li ExpressionStatement 36 li IfStatement 37 li WhileStatement 38 li DoWhileStatement 39 li ForStatement 40 li ForInStatement 41 li BreakStatement 42 li ContinueStatement 43 li ReturnStatement 44 li TODO SwitchStatement 45 li Expressions 46 ul 47 li UnaryExpression: ! 48 li BinaryExpression: +. -, *, /, ==, ===, !=, !==, >=, >, <=, < 49 li UpdateExpressions: ++, -- 50 li LogicalExpression: &&, || 51 li ConditionalExpression: test ? consequent : alternate 52 li CallExpression 53 li MemberExpression 54 li AssignmentExpression: =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |= 55 li ArrayExpression 56 li ObjectExpression 57 li FunctionCall 58 li FunctionDeclaration 59 div Simple function declaration. No prototypes. No function 60 + objects; functions cannot be built by code and used like objects.
/src/ittf/models/docs/t/docs/mtree/pathresolution.docs.ittf
1 concept Path resolution of composed documents 2 summary 3 p The path resolution algoritm for retrieving mixed and included ittf documents starts from the 4 + composer node. 5 + The folder uri, of the ittf document containing the composer node, gives the base path. 6 + The name of the composed document gives the relative path. 7 p At first is searched the path resulting from joining base and relative path using the 8 + nodejs function path.resolve(...). 9 p If this match fails, then the 't' folder rule is applied, starting from the base path 10 + and going down one step first, and then going up on the folder tree. The rule is 11 + the same followed by nodejs to locate packages. The wizzi factory uses 12 + folders named 't' as nodejs uses folders named 'node_modules'. 13 p The search for a composed document proceeds as follow: 14 ul 15 li search path.resolve(base-path, relative-path) 16 li search path.resolve(base-path, 't', relative-path) 17 li search path.resolve(path.dirname(base-path), 't', relative-path) 18 li search path.resolve(path.dirname(path.dirname(base-path)), 't', relative-path) 19 li ... 20 p until the document is found or the base-path of the wizzi factory repository, declared 21 + in the config file, is reached. In the last case the search fails and we 22 + have an IttfNotFound error. 23 p Example. Given this folder structure 24 ittf 25 - folder-a 26 - t 27 - layouts 28 - site-layout.html.ittf 29 - folder-a1 30 - t 31 - dialog.html.ittf 32 - my-home-page.html.ittf 33 p The ittf document my-home-page.html.ittf could contain these two composition node commands: 34 ittf 35 - layouts/site-layout( home ) 36 - $include dialog( ) 37 p For both commands the base-path is 'folder-a/folder-a1'. 38 p For the include node command the relative path is 'dialog.html.ittf' and the 39 p document is found by: path.resolve(base-path, 't', relative-path). 40 p For the mixin inclusion node command the relative path is 'layouts/site-layout' and the 41 p document is found by: path.resolve(path.dirname(base-path), 't', relative-path).
/src/ittf/models/docs/t/docs/mtree/xml-comparision.docs.ittf
1 concept Xml documents comparision 2 summary 3 h4 Content model 4 p XML differentiates two types: elements containing only 5 + element content (no character data) and mixed content 6 + (elements that may contain character data optionally 7 + interspersed with child elements). 8 p Ittf documents have no mixed content. They have ittf nodes only. 9 + They do not have the concept of element or attribute or 10 + text. 11 p Only the application of a wizzi schema to an mTree, loading a wizzi model, 12 + can trasform an ittf node in an element or attribute or text, depending 13 + on the schema specification. 14 h4 Document types and document type definitions 15 p A wizzi schema is actually a documemnt type definition, but it applies to loaded mTrees 16 + not to ittf documents. Ittf documents creators must design their 17 + documents to obtain a valid mTree after composition and evaluation, 18 + just before loading it in a wizzi model. 19 p An ittf document, when created for composing an mTree for a specific wizzi schema, 20 + can be considered to have the type of that wizzi schema. The type of an 21 + ittf document must be recognizable from its name, that must end with 22 + '.`schema`.ittf'. Example of ittf document of type 'js': 'index.js.ittf'. 23 h4 Markup declaration and markup model 24 p In XML a markup declaration is a syntactical construct within a DTD declaring 25 + an entity or defining a markup structure. 26 p Wizzi schemas do not need to declare entities, because ittf document can contain 27 + expressions and template commands. But, like DTDs, they declare elements and 28 + attributes structure, and like DTDs the define a model (wizzi model) of 29 + an mTree content. 30 p In the wizzi factory, wizzi models are not just a concept, but also a 31 + concrete javascript module, generated from a 32 + wizzi schema declaration, that can load 33 + valid mTrees, and may be used as a context object by: the mTree loader, 34 + model transformers and artifact generators. 35 h4 Elements and element types 36 p Wizzi schema elements and XML DTD element types have the same goal. 37 + Wizzi model elements are such only after the mTree loading of an ittf document. 38 + In ittf documents we have potential model elemnts. 39 h4 Valid characters 40 p Ittf documents accept any character. The wizzi factory ignores the content 41 + of documents and has no concept of data type. 42 + Are wizzi schemas that can constrain node names and values. 43 p When generating the javascript module that implements wizzi model types 44 + the names of classes and attributes are checked and invalid chars for 45 + javascript names are replaced with the '_' char. Class names colliding 46 + with javascript keywords are prefixed with the letter 'x'.
/src/ittf/models/docs/t/docs/plugins/api.docs.ittf
1 concept wizzi-plugin.factoryPlugin API 2 summary 3 p This api must be implemented by any wizzi plugin. 4 p The methods of the api will be called by the wizzi.pluginsManager instance class 5 + on requests received by the wizzi.wizziFactory instance class. 6 ittf 7 - 8 - # 9 - # Retrieve a wizzi model factory by its schema name 10 - # Searching in this wizzi package. No search up in "node_modules" folders. 11 - m getModelFactory 12 - string schemaName 13 - ... 14 - 15 - # 16 - # Retrieve a model transformer by its name 17 - # Searching in this wizzi package. No search up in "node_modules" folders. 18 - m getModelTransformer 19 - string transformerName 20 - ... 21 - 22 - # 23 - # Retrieve an artifact generator by its name 24 - # Searching in this wizzi package. No search up in "node_modules" folders. 25 - m getArtifactGenerator 26 - string generationName 27 - 28 - # 29 - # Retrieve a wizzi schema definition in JSON format 30 - # Searching in this wizzi package. No search up in "node_modules" folders. 31 - m getSchemaDefinition 32 - string schemaName 33 h4 Api of the object returned by getModelFactory 34 p This api will be requested to the wizzi.pluginsManager from the 35 + wizzi.wizziFactory when a client requires to load a wizzi nodel of a 36 + given schema. It will be the wizzi.wizziFactory to call the 'createLoadModel' 37 + and the 'loadModel' functions and not the client code. 38 ittf 39 - { 40 - func createLoadModel 41 - # HOF : returns the loadModel function for the given factory 42 - { wizziObject 43 - func loadMTree 44 - api-ref wizzi-mtree.loader.loadMTree 45 - # This function is prepared by the wizzi.wizziFactory instance class 46 - # and has repository access functions and load options in its closure. 47 - { file 48 - api-ref wizzi.util.file 49 - { errors 50 - api-ref wizzi.errors 51 - ... 52 - return 53 - func loadModel 54 - # This returned function require a complex 'loadContext' 55 - # parameter with a lot of interfaces passed. 56 - # It will be called by the wizzi.wizziFactory instance and 57 - # not directly from client code. 58 - string ittfDocumentUri 59 - # The path to the primary ittf document from which 60 - # the mTree will be loaded 61 - { loadContext 62 - { __productionManager 63 - api-ref wizzi.production.productionManager 64 - { productionContext 65 - api-ref wizzi.production.productionContext 66 - { aclstat 67 - api-ref wizzi.production.aclstat 68 - { __ittfDocumentStore 69 - api-ref wizzi-repo.ittfDocumentStore 70 - { mTreeBuildUpContext 71 - optional 72 - | api-ref wizzi-plugin.wizziModel 73 - | POJO 74 - callback 75 h4 Api of the object returned by getModelTransformer 76 ittf 77 - { 78 - func trans 79 - { model 80 - | api-ref wizzi-plugin.wizziModel 81 - | POJO 82 - { ctx 83 - api-ref wizzi.artifact.genContext 84 - callback 85 h4 Api of the object returned by getArtifactGenerator 86 ittf 87 - { 88 - func gen 89 - { model 90 - | api-ref wizzi-plugin.wizziModel 91 - | POJO 92 - { ctx 93 - api-ref wizzi.artifact.genContext 94 - callback 95 h4 Api of the object returned by getSchemaDefinition 96 p The object returned is a json representation of the 97 + requested schema.
/src/ittf/models/docs/t/docs/plugins/architect.docs.ittf
1 concept Plugin management 2 summary 3 p The wizzi factory uses a class instance that implements the 4 + wizzi.pluginsManager api to resolve and load plugin packages or files. 5 p Wizzi plugins can be nodejs packages installed locally or globally or can be 6 + folders in a package that makes a private use of them. 7 p Plugins to be used by an instance of the wizzi.WizziFactory class must be 8 + requested at initialization time and cannot be changed later. 9 + A new instance of the factory must be created to use a different 10 + configuration of plugins. 11 p This is the api of the wizzi.WizziFactory.initialize method. 12 ittf 13 - ... 14 - m initialize 15 - { options 16 - { repo 17 - ... 18 - { plugins 19 - [ items 20 - string pluginNameOrFile 21 - string pluginsBaseFolder 22 - default process.cwd() 23 - { test 24 - ... 25 p The 'items' property of the 'options.plugins' object is an array of: 26 ul 27 li Package names, when plugins are contained in npm installed nodejs packages 28 li Relative paths to plugins index module, when plugins are contained 29 + in private folders. 30 span In the case of relative paths the property 'pluginsBaseFolder' 31 + of the 'options.plugins' object must contains the base folder of 32 + plugins index modules.
/src/ittf/models/docs/t/docs/plugins/index.docs.ittf
1 $group 2 concept Plugins 3 summary 4 p The wizzi factory is a pluggable artifact generation framework 5 + fully implemented by plugins. 6 p Kernel modules themself have a 7 + pluggable architecture. The wizzi-mtree package is a plugin 8 + that implements an api for building tree structures from documents. 9 + Repositories of source ittf documents are plugins that implement 10 + an api for locating and retrieving documents. 11 p In this section we will focus on the wizzi plugins that implement 12 + modeling and artifact generation. 13 p A wizzi plugin exposes to the wizzi factory: 14 ul 15 li wizzi schemas and relative factories of wizzi models; 16 li model transformers; 17 li artifact generators. 18 h4 A plugin package must export the method 'createFactoryPlugin' 19 ittf 20 - set module.exports 21 - { 22 - ... 23 - @ createFactoryPlugin 24 - function 25 - { wizziPackage 26 - { options 27 - [ items 28 - string pluginNameOrFile 29 - string pluginsBaseFolder 30 - default process.cwd() 31 - callback 32 - ... 33 - return 34 - _ callback 35 - { factoryPlugin 36 - api-ref wizzi-plugin.factoryPlugin 37 p The FactoryPlugin class instance returned to the caller 38 + must implement the wizzi-plugin.factoryPlugin API (see below). 39 p A wizzi plugin should have a standard folder structure like this one: 40 ittf 41 - ... 42 - `package-name` 43 - lib 44 - artifacts 45 - `schema-name` 46 - `artifact-name` 47 - gen 48 - main.js 49 - ... 50 - `transformer-name` 51 - trans 52 - main.js 53 - ... 54 - ... 55 - utils 56 - ... 57 - wizzi 58 - models 59 - `schema-name`-model.g.js 60 - `schema-name`-factory.g.js 61 - `schema-name`-schema.g.html 62 - `schema-name`-schema.g.json 63 - ... 64 - schemas 65 - `schema-name`.wfschema.ittf 66 - ... 67 - index.js 68 p In this way modules can be located given the short public name of 69 + the required objects. 70 $include ./architect 71 $include ./api
/src/ittf/models/docs/t/docs/repo/index.docs.ittf
1 concept Wizzi repository management 2 summary
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$.ittfstatement.docs.ittf
1 $group 2 sample 3 summary 4 p One can declare context values inside an Ittf document and/or manipulate 5 + them using Ittf expressions. Context manipulation statements may be 6 + single or multi node. The single node format is: 7 ittf 8 - 9 - $ var counter = 0 10 - 11 p The multi node format is: 12 ittf 13 - 14 - 15 - var x = {}; 16 - x.value = 10; 17 - 18 p 19 ittf my.html.ittf 20 kind primary 21 - div 22 - $ var myFriends = "Steve,Annie,John".split(",") 23 - ul 24 - li hello ${dollar}{myFriends[0]} 25 - li hello ${dollar}{myFriends[1]} 26 - li hello ${dollar}{myFriends[2]} 27 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$dot.ittfstatement.docs.ittf
1 $group 2 sample $. 3 summary 4 p A node value that contain many lines of text may be declared 5 + using the $. statement. 6 + Child nodes of the statement becames lines separated by the LF character 7 + in a text string that is set in the node value. 8 ittf 9 kind primary 10 - 11 - style 12 - $. 13 - .main { 14 - color: red; 15 - background: yellow; 16 - } 17 - 18 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$foreach.ittfstatement.docs.ittf
1 $group 2 sample $foreach 3 summary 4 p The $foreach statements repeats the processing of child nodes for each 5 + element in a context value of type array. The format is: 6 ittf 7 - 8 - $foreach item-name in collection 9 - .. child nodes 10 - 11 p item-name is the variable name that will be assigned to the collection item, collection is 12 + the name of an array that must exist in the Ittf loader context. 13 ittf my.html.ittf 14 kind primary 15 - div 16 - ul 17 - $foreach item in products 18 - li ${dollar}{item.name} 19 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$global.ittfstatement.docs.ittf
1 $group 2 sample $global 3 summary 4 p Context values declared inside an Ittf document using the $ statement are 5 + local to the document. To make them global you must declare them 6 + using the $global statement insted of $. The syntax is the same. 7 + Single node ... 8 ittf 9 - 10 - $global var counter = 0 11 - 12 p ... and multi node ... 13 ittf 14 - 15 - $global 16 - var x = {}; 17 - x.value = 10; 18 - 19 p 20 ittf my.html.ittf 21 kind primary 22 - div 23 - $ var myFriends = 'Steve,Annie,John'.split(',') 24 - ul 25 - li hello ${dollar}{myFriends[0]} 26 - li hello ${dollar}{myFriends[1]} 27 - li hello ${dollar}{myFriends[2]} 28 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$group.ittfstatement.docs.ittf
1 $group 2 sample $group 3 summary 4 p The $group statements is a node that will not be processed. Is used to give 5 + a unique root node to Ittf document with more than one root node. 6 ittf my.html.ittf 7 kind primary 8 - $group 9 - $params &names 10 - div 11 - span hello ${dollar}{names[0]} 12 - div 13 - span hello ${dollar}{names[1]} 14 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/$if.ittfstatement.docs.ittf
1 $group 2 sample $if 3 summary 4 p The $if, $elif and $else statements allow conditional inclunsion/exclusion 5 + of nodes. The format is: 6 ittf 7 - 8 - $if ittf-expression 9 - .. child nodes 10 - $elif ittf-expression 11 - .. child nodes 12 - $else 13 - .. child nodes 14 - 15 p $if and $elif child nodes will be included in the Ittf model if ittf-expression is true, 16 + while $else child nodes will be included if ittf-expression is false. 17 ittf my.html.ittf 18 kind primary 19 - div 20 - 21 - var alpha = 10 22 - ul 23 - $if alpha < 5 24 - li hello down 25 - $else 26 - li hello up 27 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/comments.ittfstatement.docs.ittf
1 $group 2 sample Comments: ${dollar}${dollar} and ${dollar}* .. *${dollar} 3 summary 4 p A double dollar, ${dollar}${dollar}, comments out a node until end of line. 5 p ${dollar}* .. any text .. *${dollar} comments out any text on one node or a node branch. 6 ittf my.html.ittf 7 kind primary 8 - div 9 - $ var myFriends = 'Steve,Annie,John'.split(',') 10 - ul 11 - li hello ${dollar}{myFriends[0]} 12 - ${dollar}${dollar} li hello ${dollar}{myFriends[1]} 13 - li hello ${dollar}{myFriends[2]} 14 - ${dollar}* div 15 - a wizzifactory 16 - href http://wizzifactory.org 17 - *${dollar} 18 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/ittfstatements/mixincall.ittfstatement.docs.ittf
1 $group 2 sample mixin call 3 summary 4 p A mixin call is an Ittf statement that the loader recognizes because a 5 + node name ends with an open paren. You can declare single node mixin calls: 6 ittf 7 - 8 - ui/dialog( title, &data ) 9 - 10 p 11 p or multi node calls: 12 ittf 13 - 14 - ui/control( 15 - $param id name 16 - $param type input 17 - $param label Your name 18 - 19 p 20 p Arguments in a single node call must be comma separated. The closing paren is optional 21 + in both cases. 22 ittf my.html.ittf 23 kind primary 24 - div 25 - $ var myFriends = 'Steve,Annie,John'.split(',') 26 - ul 27 - li hello ${dollar}{myFriends[0]} 28 - ${dollar}${dollar} li hello ${dollar}{myFriends[1]} 29 - li hello ${dollar}{myFriends[2]} 30 - ${dollar}* div 31 - a wizzifactory 32 - href http://wizzifactory.org 33 - *${dollar} 34 $include wfschema.html.sample
/src/ittf/models/docs/t/docs/samples/t/mixins/basic.mixin.docs.ittf
1 $group 2 sample Basic 3 summary 4 ittf mydb.rdbms.ittf 5 kind primary 6 - table 7 - primaryKey( id ) 8 - column( id, string, Id ) 9 - column( id, guid, Id ) 10 ittf t/column.rdbms.ittf 11 kind mixin 12 - column ${dollar}{name} 13 - $params name, type, label 14 - type ${dollar}{name} 15 - label ${dollar}{label} 16 ittf t/primaryKey.rdbms.ittf 17 kind mixin 18 - index ${dollar}{name}_PK 19 - is-primary 20 - column ${dollar}{name} 21 $include wfschema.rdbms.sample
/src/ittf/models/docs/t/docs/samples/t/mixins/hook.mixin.docs.ittf
1 $group 2 sample Hook 3 summary 4 p When calling mixins, the child nodes of the calling node by default 5 + are appendend to the root node of the mixin. If you need an 6 + insertion point deeper into the mixin tree, you my declare 7 + a mixin node with name $hook, that will be replaced with 8 + the child nodes of the mixin call statement. 9 ittf mypage.html.ittf 10 kind primary 11 - layout( home ) 12 - h2 Hello 13 ittf t/layout.html.ittf 14 kind mixin 15 - html 16 - $params page 17 - head 18 - body 19 - nav 20 - a Home 21 - $if page = 'home' 22 - class active 23 - href / 24 - a Services 25 - $if page = 'services' 26 - class active 27 - href /services 28 - $hook default 29 $include wfschema.rdbms.sample
/src/ittf/models/docs/t/docs/samples/t/mixins/scope.mixin.docs.ittf
1 $group 2 sample Scope 3 summary 4 ittf mypage.html.ittf 5 kind primary 6 - layout ( ) 7 - h2 Hello 8 ittf t/layout.html.ittf 9 kind mixin 10 - html 11 - head 12 - body 13 - $hook default 14 ittf t/nav.html.ittf 15 kind mixin 16 - nav 17 - a Home 18 - href / 19 - a Services 20 - href /services 21 - a Contact 22 - href /contact 23 $include wfschema.rdbms.sample
/src/ittf/models/docs/t/docs/samples/t/wfschema.html.sample.docs.ittf
1 ittf schemas/html.wfschema.ittf 2 kind schema 3 summary 4 - wfschema html 5 - e html 6 - r element/s 7 - e element 8 - a id 9 - a name 10 - a class 11 - r element/s 12 - e html : element 13 - e head : element 14 - e body : element 15 - e div : element 16 - e ul : element 17 - e li : element
/src/ittf/models/docs/t/docs/samples/t/wfschema.rdbms.sample.docs.ittf
1 ittf schemas/rdbms.wfschema.ittf 2 kind schema 3 summary 4 - wfschema rdbms 5 - e rdbms 6 - r table/s 7 - e table 8 - r column/s 9 - r index/es 10 - e column 11 - a type 12 - default string 13 - restrict 14 - enum string 15 - enum boolean 16 - enum integer 17 - enum float 18 - enum date 19 - a label 20 - e index 21 - a isPrimary 22 - tag is-primary 23 - type boolean 24 - r column/s
/src/ittf/models/docs/t/docs/samples/ittfstatements.docs.ittf
1 sample-group Ittf statements 2 $include ittfstatements/$.ittfstatement 3 $include ittfstatements/$global.ittfstatement 4 $include ittfstatements/$if.ittfstatement 5 $include ittfstatements/$foreach.ittfstatement 6 $include ittfstatements/mixincall.ittfstatement 7 $include ittfstatements/$group.ittfstatement 8 $include ittfstatements/$dot.ittfstatement 9 $include ittfstatements/comments.ittfstatement
/src/ittf/models/docs/t/docs/samples/mixin.docs.ittf
1 sample-group Mixins 2 $ var ip = ' 3 $include mixins/basic.mixin 4 $include mixins/hook.mixin 5 $include mixins/scope.mixin
/src/ittf/models/docs/t/docs/schema/index.docs.ittf
1 concept Wizzi schema 2 summary 3 p A wizzi schema describes a valid tree structure for mTrees 4 + of a specific domain of interest. 5 + It is the core modeling tool of the wizzi factory. 6 p Schemas are modeled using ittf documents like any other wizzi model. 7 h4 Sample 'rdbms' wizzi schema 8 ittf 9 - wfschema rdbms 10 - e catalog 11 - r table/s 12 - e table 13 - r column/s 14 - r index/es 15 - e column 16 - a type 17 - a caption 18 - a defaultValue 19 - tag default 20 - e index 21 - a primary 22 - type boolean 23 - a unique 24 - type boolean 25 - r column/s 26 h4 Sample ittf document conformant to the 'rdbms' wfschema that may be loaded in a 'rdbms' wizzi model. 27 ittf 28 - rdbms School 29 - table Student 30 - column Id 31 - type integer 32 - column Name 33 - type string 34 - index Student-PK 35 - primary true 36 - column Id 37 - table Course 38 - column Id 39 - type integer 40 - column Title 41 - type string 42 - index Student-PK 43 - primary true 44 - column Id 45 p Wizzi schemas are wizzi models of type 'wfschema' 46 + implemented by the wizzi-core plugin.
/src/ittf/models/docs/t/docs/schema/ittf.docs.ittf
1 concept Ittf pseudo schema 2 summary 3 p Using the ittf pseudo schema may increases the plasticity of a generation 4 + process. 5 p We can load complex untyped ittf documents 6 + into an mTree and obtain as a result an in-memory simple tree structure 7 + of nodes with a name, a value and a childs collection, that can generate 8 + a new ittf document. 9 p We can chain complex mTrees buildups until we get the final ittf document 10 + to load into a wizzi model for artifact generation.
/src/ittf/models/docs/t/docs/schema/json.docs.ittf
1 concept Json pseudo schema 2 summary 3 h4 Sample json ittf document 4 ittf 5 - { 6 - name "v3-docs" 7 - version "0.0.1" 8 - description "Wizzi factory documentation." 9 - scripts 10 - { 11 - test "mocha tests/**/*.js" 12 - start "node index" 13 - dependencies 14 - { 15 - async "^2.4.0" 16 - json-stringify-safe "^5.0.1" 17 - ... 18 - sampleArray 19 - [ 20 - 'alfa' 21 - 'beta' 22 ul Coding rules 23 li The root node must be an open graph. 24 li Ittf node names may contain 25 ul 26 li Property names. 27 li Open graph for start of object. 28 li Open bracket for start of array. 29 li Array elements primitive values. 30 li Ittf node values must contain property values when the node name is 31 + a property name, nothing in the other cases. 32 p ( It is assumed that one knows 33 a json format rules 34 href http://www.json.org/ 35 span )
/src/ittf/models/docs/t/docs/schema/pseudoschemas.docs.ittf
1 concept Internal schemas 2 summary 3 p There are some common document types that have great 4 + flexibility for the definition of context data, and 5 + would be usefull to apply to those documents 6 + the templating power of mTrees without the hassle 7 + of a wizzi schema. 8 ul 9 li Text 10 li Xml 11 li Json 12 li Ittf itself. 13 p Respecting a few coding rules these type of documents can be built 14 + using the composition and template commands of ittf documents. 15 p The production manager of the wizzi factory recognizes 16 + the following internal schemas 17 ul 18 li text 19 li xml 20 li json 21 li ittf 22 p A wizzi job or a an api call to the wizzi factory may use these schema 23 + names in any place where a wizzi schema can be used.
/src/ittf/models/docs/t/docs/schema/text.docs.ittf
1 concept Text pseudo schema 2 summary 3 p A text ittf document is a bit out of standard. It is 4 + a common text document that can break the rule of 5 + only one root node. It can use any node command or expression 6 + of an ittf document. A preprocessor transforms the text in 7 + a standard ittf tree structure. After the buildup of the mTree 8 + the 'text/document' artifact generator recreates the textual format. 9 h4 Example of text mixin for a license file 10 js 11 - $params copy, license 12 - MIT License 13 - 14 - Copyright (c) ${'$'}{copy} 15 - 16 - $if license === 'mit' 17 - $include mit_license_text 18 - $elif ... 19 h4 The mixin transformed by the prepocessor in a standard format 20 ittf 21 - text 22 - $params copy, license 23 - + MIT License 24 - + 25 - + Copyright (c) 2015 The Wizzi Team 26 - + 27 - $if license === 'mit' 28 - $include mit_license_text 29 - $elif ...
/src/ittf/models/docs/t/docs/schema/wfschema.docs.ittf
1 concept The 'wfschema' schema 2 summary 3 p The wfschema, implemented by the wizzi-core plugin, 4 + is the meta model of a wizzi schema. 5 + It models a wizzi schema with the same semantic with which 6 + a wizzi schema models a wizzi model. 7 p This documentation section has a circularity that may give 8 + an headache. It documents a schema that describe a schema 9 + using the same schema notation of the documented schema. 10 p Some hints may help. 11 ul 12 li A wizzi schema describes a model in terms of element types, 13 + with attributes, and relations between elements. 14 + Elements can extend super elements. Relations, that 15 + do not have attributes, can be of kind parent-children (one-to-many, the default) 16 + or parent-singlechild (one-to-one). 17 li Elements are described in a flat list. Relations hierarchy and 18 + element derivations are inferred from definitions. 19 li The root element can be declared using the element attribute 'isRoot'. If 20 + not declared the root element is the first of the list. 21 li Elements and attributes may have an optional tag attribute that defines a 22 + name alias shorter or with an easier mnemonic. wfschema examples: 23 ul 24 li 'e' for 'element' 25 li 'a' for 'attribute' 26 li 'r' for 'relation' 27 li Node names of mTree nodes simply map to an element or attribute tag (or name, 28 + if a tag is not declared). 29 ul The wfschema elements are 30 li wfschema 31 li exportTo 32 li require 33 li element 34 li attribute, string, boolean, integer, float, date 35 li relation 36 li restrict, enum, minLength, maxLength, minValue, maxValue, regexp 37 li method, function 38 li parameter 39 h3 wfschema element 40 p The root element of a 'wfschema'. 41 ittf 42 - e wfschema `name` 43 - r require/s 44 - r exportTo/s 45 - r element/s 46 h3 exportTo element 47 p An exportTo element causes the insertion in the wizzi model classes 48 + of the prototype functions for exporting the tree data structure of the model in 49 + the requested format 50 ul 51 li toJson() 52 li toXml() 53 p The entire wizzi model can be exported calling this methods on the root element. 54 ittf 55 - ... 56 - e export-to [json|xml] 57 h3 require element 58 p A wizzi model can contain user defined methods and functions, 59 + that could need to import objects from other modules. This element 60 + allow to insert require statements in the generated wizzi model module. 61 ittf 62 - e require `import-name` 63 - string declareVar `name` 64 - tag declare-var 65 - optional 66 - default `import-name` 67 - string invoke `invoke-string` 68 - optional 69 - string kind [module] 70 - # At now we have only one kind, and this attribute is superflous. 71 - # Other kinds could be added in the future. 72 - optional 73 - default module 74 p The generated statement is built in this way: 75 ittf 76 - var `declareVar` = require('`import-name`')[`invoke`] 77 p Example 78 ittf 79 - ... 80 - require wizzi-utils 81 - declare-var verify 82 - invoke .verify 83 - generates: 84 - var verify = require('wizzi-utils').verify 85 h3 Element element 86 p Describes an element type of the schema. 87 ittf 88 - e element `name` [: `super-element-name`] 89 - tag e 90 - string super `super-element-name` 91 - string tag `tag` 92 - string xmlTag `tag` 93 - tag xml-tag 94 - boolean isAbstract 95 - tag is-abstract 96 - default-when-declared true 97 - boolean isRoot 98 - tag is-root 99 - default-when-declared true 100 - boolean nameIsRequired 101 - tag name-is-required 102 - default-when-declared true 103 - boolean addToChildren 104 - tag add-to-children 105 - default-when-declared true 106 - r attribute/s 107 - r relation/s 108 - r method/s 109 h3 Relation element 110 ittf 111 - e relation `related-element-name`[-`plural-suffix-a`]/`plural-suffix-b` 112 - # Examples 113 - # r column/s (element: column, collection: columns) 114 - # r propert-y/ies (element: property, collection: properties) 115 - tag r 116 - boolean oneToOne 117 - tag one-to-one 118 - default-when-declared true 119 - boolean noGet 120 - tag no-get 121 - default-when-declared true 122 p Example: 123 ittf 124 - ... 125 - e table : dbitem 126 - r column/s 127 - r propert-y/ies 128 - r displayLayout 129 - one-to-one 130 p related-element-name plus the eventual plural-suffix-a must give the name of an 131 + element defined in the schema (that is the related element); in the 132 + example: column, property, displayLayout. 133 h3 attribute element 134 p Describes an attribute of an element 135 ittf 136 - e attribute `name` 137 - tag a 138 - string tag `tag` 139 - string xmlTag `tag` 140 - tag xml-tag 141 - string type [string|integer|float|boolean|date] 142 - default string 143 - string default `default-value` 144 - string defaultWhenDeclared `default-value` 145 - tag default-when-declared 146 - boolean isDatatype 147 - tag is-datatype 148 - default-when-declared true 149 - boolean isRequired 150 - tag is-required 151 - default-when-declared true 152 - r restrict/s 153 h3 string element 154 ittf 155 - e string `attribut-name` : attribute 156 h3 boolean element 157 ittf 158 - e boolean `attribut-name` : attribute 159 h3 integer element 160 ittf 161 - e integer `attribut-name` : attribute 162 h3 float element 163 ittf 164 - e float `attribut-name` : attribute 165 h3 date element 166 ittf 167 - e date `attribut-name` : attribute 168 h3 restrict element 169 ittf 170 - e restrict 171 - is-abstract 172 h3 enum element 173 ittf 174 - e enum `enum-value` : restrict 175 h3 maxLength element 176 ittf 177 - e maxLength `value` : restrict 178 - tag max-length 179 h3 minLength element 180 ittf 181 - e minLength `value` : restrict 182 - tag min-length 183 h3 maxValue element 184 ittf 185 - e maxValue `value` : restrict 186 - tag max-value 187 h3 minValue element 188 ittf 189 - e minValue `value` : restrict 190 - tag min-value 191 h3 regexp element 192 ittf 193 - e regexp `value` : restrict 194 h3 method element 195 p Declares a method that will be added to the element class. 196 + A method can access and manipulate the entire 197 + wizzi model, having access to the 'this.wzRoot()' method of the 198 + `schema-name`Base class. 199 ittf 200 - e method `name` 201 - tag m 202 - r param/s 203 - r statement/s 204 h3 param element 205 ittf 206 - e param `name` 207 h3 statement element 208 p The statement element uses a subset of the schema 'js' 209 + implemented by the plugin wizzi-js. 210 h3 function element 211 p Declares a method that will be added to the module 212 + and will be a private function for methods of the model instances. 213 ittf 214 - e function `name` 215 - tag m 216 - r param/s 217 - r statement/s
/src/ittf/models/docs/t/docs/schema/wizzi-model-type.docs.ittf
1 concept Wizzi model type 2 summary 3 p A WizziModelType is the javascript representation of a WizziSchema. 4 p Mapping of a WizziSchema to a WizziModelType 5 table 6 tr 7 td Require element 8 td javascript/jsnode require statement 9 tr 10 td Element element 11 td javascript pseudo-class 12 tr 13 td Super attribute 14 td javascript pseudo-inehritance. 15 tr 16 td Attribute element 17 td Property of a primitive type of the element pseudo-class 18 tr 19 td Restrict element 20 td Validation statements in the wzVerify method of the element pseudo-class 21 tr 22 td One-to-many Relation element 23 td javascript array of Right elements as a property of Left element pseudo-class 24 tr 25 td One-to-one Relation element 26 td javascript object of Right element as a property of Left element pseudo-class 27 tr 28 td Method element 29 td javascript function in the prototype of the element pseudo-class 30 tr 31 td ExportTo element 32 td javascript function in the prototype of the element pseudo-class 33 + that implements the export of the model instance 34 p WizziModelType pseudo-classes are instantiated by the WizziModelFactory during 35 + a WizziModelLoading.
/src/ittf/models/docs/t/docs/schema/xml.docs.ittf
1 concept Xml pseudo schema 2 summary 3 h4 Sample xml ittf document 4 ittf 5 - profile 6 - @ name ${dollar}{user.name} 7 - @ age ${dollar}{user.age} 8 - friends 9 - $foreach friend in user.friends 10 - friend 11 - @ name ${dollar}{friend.name} 12 - @ age ${dollar}{friend.age} 13 - address 14 - @ street ${dollar}{user.street} 15 - @ city ${dollar}{user.city} 16 ul Rules 17 li Ittf node names may contain 18 ul 19 li element names for elements 20 li simbol @ for attributes 21 li Ittf node values may contain 22 ul 23 li nothing for elements 24 li name and value separated by a blank for attributes 25 p ( It is assumed that one knows 26 a xml format rules 27 href https://google.github.io/styleguide/xmlstyle.html 28 span )
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/artifact-generation.docs.ittf
1 concept Artifact generation 2 summary 3 p The Wizzi Factory uses three kinds of artifact generators. 4 ul 5 li IttfTemplates 6 li SwigTemplates 7 li CodeWriters 8 p IttfTemplates are IttfDocuments conformants to a LanguageWizziSchema (js, html, css, ...). 9 p SwigTemplates are text documents that will be transformed using the <a href="http://paularmstrong.github.io/swig/">swig</a> 10 + template engine. 11 p CodeWriters are node.js modules that generate an artifact by code.
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/codewrite.docs.ittf
1 concept Code write artifact 2 summary 3 p An artifact using the code write method has no template. 4 p The ArtifactGenerator exposed to the Wizzi Factory is a node.js module 5 + that contains the statements for generating the artifact writing 6 + its content into the ArtifactGenerationContext that is passed to the ArtifactGenerator 7 + as a parameter by the ProductionManager. 8 p The CodeWriteArtifact module must be named main.js and must have 9 + this location in the WizziFactoryPackage: 10 ittf 11 - node_modules 12 - <package-name> 13 - lib 14 - artifacts 15 - <wfschema-name> 16 - <artifact-name> 17 - gen 18 - main.js 19 p The path <wfschema-name>/<artifact-name> must be unique in the Wizzi Factory 20 + and is the value to be declared in the generator attribute of the artifact element 21 + of a wfjob document. 22 p For example 23 ittf 24 - wfjob job-name 25 - 26 - line line-name 27 - artifact artifact-name 28 - ... 29 - generator <wfschema-name>/<artifact-name> 30 - ... 31 p A sample code-write artifact generator: 32 js 33 - 34 - var md = module.exports = {}; 35 - var myname = 'rdbms.mongodbtableschema.main'; 36 - /* 37 - parameters 38 - model: a model instance of schema 'rdbms' 39 - ctx: an artifact generation context instance 40 - */ 41 - md.gen = function (model, ctx) { 42 - model.tables.forEach(function (table) { 43 - 44 - // write statements using the ctx object write functions 45 - ctx.w('...') // write with line feed 46 - ctx.write('...') // write without line feed 47 - ctx.a('VARNAME', value) // declare a context variable 48 - ctx.w('xxx {VARNAME}(yyy)') // write with line feed and interpolation 49 - }); 50 - } 51 p See the specification of the ArtifactGenerationContext passed to the CodeWriteArtifact.
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/ittftemplate.docs.ittf
1 concept IttfTemplate artifact 2 summary 3 p An artifact using the IttfTemplate method has 4 + a template that is an IttfDocument conformant to a LanguageWizziSchema. 5 p For example a js WizziSchema template: 6 ittf 7 - 8 - $foreach table in rdbms.tables 9 - class ${dollar}{table.name} 10 - super TableObject 11 - ctor 12 - $foreach column in table.columns 13 - set this.${dollar}{column.name} = ${dollar}{column.default} 14 p The artifact generator exposed to the Wizzi Factory must be a node.js module 15 + named main.js. 16 p The CodeWriteArtifact module and the IttfDocument must must have 17 + this location in the WizziFactoryPackage: 18 ittf 19 - node_modules 20 - <package-name> 21 - lib 22 - artifacts 23 - <wfschema-name> 24 - <artifact-name> 25 - gen 26 - ittf 27 - ittfdocument-name.<language-wizzi-schema>.ittf 28 - main.js 29 p The path <wfschema-name>/<artifact-name> must be unique in the Wizzi Factory 30 + and is the value to be declared in the generator attribute of the artifact element 31 + of a wfjob document. 32 p For example: 33 ittf 34 - wfjob job-name 35 - 36 - line line-name 37 - artifact artifact-name 38 - ... 39 - generator <wfschema-name>/<artifact-name> 40 - ... 41 p A sample IttfTemplateArtifact node.js code: 42 js 43 - 44 - var util = require('util'); 45 - var path = require('path'); 46 - var yyyWizziPackage = require('yyyWizziPackage'); 47 - var jsModuleGenerator = yyyWizziPackage.getArtifactGenerator('js/module'); 48 - var md = module.exports = {}; 49 - var myname = 'rdbms.mongodbtableschema.main'; 50 - /* 51 - parameters 52 - model: a WizziModelInstance of schema 'rdbms' 53 - ctx: an ArtifactGenerationContext instance 54 - */ 55 - md.gen = function (model, ctx) { 56 - var ittfPath = path.join(__dirname, 'ittf', 'xxx.js.ittf'); 57 - jsModuleGenerator(ittfPath, { 58 - schema: model, 59 - }, function(err, result) { 60 - if (err) { throw new Error(err); } 61 - ctx.w(result); 62 - }); 63 - } 64 p See the specification of the ArtifactGenerationContext passed to the CodeWriteArtifact.
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/production.docs.ittf
1 concept Wizzi Factory Production 2 id WizziFactoryProduction 3 summary 4 p A WizziFactoryProduction is an action that is part 5 + of a WizziFactoryJob and produces one Software Artifact 6 + or one transformed WizziModelInstance. 7 p To make productions work WizziFactoryPackages
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/swigtemplate.docs.ittf
1 concept SwigTemplate artifact 2 summary 3 p An artifact using the SwigTemplate method 4 + is a text document that will be processed by the <a href="http://paularmstrong.github.io/swig/">swig</a> 5 + template engine. 6 p For example: 7 js 8 - 9 - {% for table in rdbms.tables %} 10 - function {{table.name}}() { 11 - {% for column in table.columns %} 12 - this.{{column.name}} = {{column.default}}; 13 - {% endfor %} 14 - } 15 - util.inherit({{table.name}}, TableObject); 16 - {% endfor %} 17 p The artifact generation from a swig template is built-in in the Wizzi Factory 18 + and do not require a node.js module. 19 p To declare a SwigTemplateArtifact in a wfjob document 20 + the generator attribute of the artifact element must have value 'swig' 21 p For example: 22 ittf 23 - wfjob job-name 24 - 25 - line line-name 26 - artifact artifact-name 27 - ... 28 - generator swig 29 - ...
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/wizzi-model-loading.docs.ittf
1 concept Wizzi model loading 2 summary 3 p WizziModelLoading is the action that instantiate and load a 4 + WizziModelInstance from a source IttfDocument and a 5 + context data object on request of the ProductionManager. 6 h3 CodeWriteArtifactGeneration 7 p Uses a nodejs module to create the Software Artifact by code. 8 h3 WizziLanguageSchemaArtifactGeneration 9 p Uses a WizziLanguageSchema to create SoftwareArtifactsTemplates 10 + composed by IttfDocuments. 11 h3 API 12 p Both artifact generation techniques must expose the same interface to the 13 + Wizzi Factory. 14 p ArtifactGenerators are packaged in nodejs/npm packages. 15 ul The index must expose the functions: 16 li getWizziModelFactory(wizziSchemaName) 17 li getArtifactGenerator(artifactPath) 18 li getModelTransformer(transformerPath) 19 div WizziModelFactories are nodejs modules generated by the WizziModelProduction 20 div They must be located at: 21 div node_modules/package-name/lib/wizzi/models/wizzi-schema-name-model.g.js 22 div Artifacts must be jsnode modules with the following name: 23 div node_modules/package-name/lib/artifacts/wizzi-schema-name/artifact-name/gen/main.js 24 div ModelTransformers must be jsnode modules with the following name: 25 div node_modules/package-name/lib/artifacts/wizzi-schema-name/transformer-name/trans/main.js 26 ul Where package-name, wizzi-schema-name, artifact-name must be replaced with their context value.
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour/wizzi-model-transformation.docs.ittf
1 concept Wizzi model transformer 2 summary 3 p Wizzi Factory model transformers are node.js modules with a specific 4 + interface. 5 p WizziModelTransformer sample: 6 js 7 - 8 - var error = require('wizzi-core').error; 9 - var md = module.exports = {}; 10 - var myname = 'model.transformer.xxx.main'; 11 - md.trans = function(model, ctx, callback) { 12 - if (model.wzElement != 'xxx') { 13 - errors.NodeError(myname + '.gen. Model wzElement must be xxx. Found: ' + model.wzElement, model); 14 - } 15 - var __result = {}; 16 - ... 17 - // transformation statements 18 - ... 19 - callback(null, __result); 20 - }; 21 p A WizziModelTransformer must have 22 + this location in the WizziFactoryPackage: 23 ittf 24 - node_modules 25 - <package-name> 26 - lib 27 - artifacts 28 - <wfschema-name> 29 - <transformer-name> 30 - trans 31 - main.js 32 p The path <wfschema-name>/<transformer-name> must be unique in the Wizzi Factory 33 + and is the value to be declared in the transformer attribute of the model-ref element 34 + of a wfjob document. 35 p For example: 36 ittf 37 - wfjob job-name 38 - 39 - line line-name 40 - artifact artifact-name 41 - ... 42 - model-ref model-name 43 - transformer transformer-path 44 - ...
/src/ittf/models/docs/t/docs/wizzi-factory/structure/package.docs.ittf
1 concept Wizzi Factory Package 2 id WizziFactoryPackage 3 summary 4 p ArtifactProductions are packaged in node.js/npm modules 5 + containing: 6 ul 7 li WizziSchemas 8 li WizziModelTypes 9 li WizziModelFactories 10 li WizziModelTransformers 11 li ArtifactGenerators 12 p A WizziFactoryPackage has a standard folder structure 13 ittf 14 - node_modules 15 - <package-name> 16 - lib 17 - artifacts 18 - <wfschema-name> 19 - <artifact-name> 20 - gen 21 - ittf 22 - [0..n]<ittfdocument-name>.<language-wizzi-schema>.ittf 23 - main.js 24 - [0..n]<helper-module>.js 25 - <transformer-name> 26 - trans 27 - main.js 28 - [0..n]<helper-module>.js 29 - wizzi 30 - models 31 - <wfschema-name>-model.js 32 - <wfschema-name>-factory.js 33 - schemas 34 - <wfschema-name>.wfschema.ittf 35 - index.js 36 p The index.js module of the package exports the functions: 37 li getWizziModelFactory(wizziSchemaName) 38 li getModelTransformer(transformerPath) 39 li getArtifactGenerator(artifactPath)
/src/ittf/models/docs/t/docs/wizzi-factory/structure/production-manager.docs.ittf
1 concept ProductionManager 2 id ProductionManager 3 summary 4 p The ProductionManager is a node.js module that orchestrate 5 + the execution of a WizziFactoryJob. 6 p A job may request ArtifactProductions available in many 7 + WizziFactoryPackages. 8 p Jobs are modeled using the <i>wfjob</i> WizziSchema, and are executed 9 + passing the uri of the PrimaryIttfDocument of a wfjob 10 + to the ProductionManager. 11 p Required WizziFactoryPackages must be registered to the ProductionManager 12 + before calling a job execution. 13 p They must be npm installed. A global install is recommended. 14 h3 An example of the execution of a Production job 15 js 16 - 17 - var path = require('path'); 18 - var util = require('util'); 19 - var log = require('wizzi-core').log(module); 20 - var ProductionManager = require('wizzi-factory').ProductionManager; 21 - var options = require('wizzi-factory').options; 22 - var thisWizziModule = require('./index'); 23 - 24 - var pman = new ProductionManager(options({ 25 - indentSpaces: 4, // 1 indent (tab) = 4 spaces 26 - basedir: __dirname, 27 - verbose: 2 // 0= error only, 1=warnings, 2=all 28 - })); 29 - pman.registerWizziModule(thisWizziModule); 30 - pman.addWfJob({ 31 - options: {}, // optional, override production options 32 - wfjob: { 33 - src: path.join(__dirname, 'lib', 'ittf', 'wizzifactory.wfjob.ittf') 34 - } 35 - }); 36 - pman.run(function (err, result) { 37 - if (err) { 38 - return log.error('Error running production: ' + util.inspect(err, { depth: null })); 39 - } 40 - log.success('run completed'); 41 - pman.persistToFile(function (err, result) { 42 - if (err) { 43 - return log.error('Error persisting production to file: ' + util.inspect(err, { depth: null })); 44 - } 45 - log.success('persistToFile completed'); 46 - }); 47 - });
/src/ittf/models/docs/t/docs/wizzi-factory/structure/wfjob-wizzi-schema.docs.ittf
1 concept The wfjob Wizzi Schema 2 id wfjob-WizziSchema 3 summary 4 h3 The wfjob Ittf notation 5 ittf 6 - wfjob job-name 7 - models-base-folder models-folder-path 8 - dest-base-folder dest-folder-path 9 - ${dollar}$[0..n]<b><i>models</i></b> 10 - model model-name 11 - src src-path 12 - schema schema-name 13 - ${dollar}$[0..n]<b><i>modelRefs</i></b> 14 - model-ref model-name 15 - export-name 16 - ${dollar}$[0..n]<b><i>transformers</i></b> 17 - transformer transformer-name 18 - 19 - ${dollar}$[1..n]<b><i>lines</i></b> 20 - line line-name 21 - cwd-folder cwd-folder-path 22 - dest-folder dest-folder-path 23 - ${dollar}$[1..n]<b><i>artifacts</i></b> 24 - artifact artifact-name 25 - src ittfdocument-path 26 - schema language-schema-name 27 - generation artifact-generator-name 28 - dest-path artifact-file-path 29 - extension artifact-file-extension 30 - ${dollar}$ [0..n]<b><i>modelRefs</i></b> 31 - model-ref model-name 32 - export-name 33 - ${dollar}$ [0..n]<b><i>transformers</i></b> 34 - transformer transformer-name 35 - 36 - ${dollar}$[1..n]<b><i>productions</i></b> 37 - production production-name 38 - dest-folder dest-folder-path 39 - ${dollar}$[1..n]<b><i>lineRefs</i></b> 40 - line-ref line-name 41 - 42 h3 An example of wfjob 43 ittf 44 - wfjob documentation 45 - 46 - 47 - var models_folder = __dirname; 48 - var src_root_folder = models_folder; 49 - var dest_folder = path.resolve(models_folder, '../out'); 50 - 51 - models-base-folder ${dollar}{models_folder} 52 - 53 - model overview 54 - src overview.docs.ittf 55 - schema docs 56 - 57 - line root 58 - cwd-folder ${dollar}{src_root_folder} 59 - artifact overview.html.ittf 60 - src overview.html.ittf 61 - generator html/document 62 - schema html 63 - extension html 64 - model-ref overview 65 - transformer docs/preprint 66 - 67 - production 68 - dest-folder ${dollar}{dest_folder} 69 - line-ref root
/src/ittf/models/docs/t/docs/wizzi-factory/behaviour.docs.ittf
1 $group 2 $include behaviour/artifact-generation 3 $include behaviour/ittftemplate 4 $include behaviour/swigtemplate 5 $include behaviour/codewrite 6 $include behaviour/wizzi-model-transformation
/src/ittf/models/docs/t/docs/wizzi-factory/structure.docs.ittf
1 $group 2 $include structure/package 3 $include structure/production-manager 4 $include structure/wfjob-wizzi-schema
/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/ittf-evaluator.docs.ittf
1 concept Ittf evaluator 2 summary 3 p Is the IttfModelLoader component that resolves the template elements of an IttfDocument. 4 ul It receives in input: 5 li A TempIttfModel 6 ul A tree data structure that is the output of the IttfModelLoading components: 7 li IttfLexer 8 li IttfParser 9 li IttfIncluder 10 li IttfAppender 11 li an IttfLoadingContext; a context object passed to the IttfModelLoader. 12 p The IttfEvaluator traverses the TempIttfModel and generates an IttfModelResolveScript, 13 + an in memory javascript module 14 + that rebuilds the tree structure of the TempIttfModel resolving TemplatedIttfNodeValues 15 + and IttfTemplateControlNodes. 16 p The IttfModelResolveScript is parsed using the esprima parser and executed using the JsWizziRunner. 17 p The JsWizziRunnerContext is initialized with the IttfLoadingContext and manipulated at 18 + runtime by the IttfModelResolveScript itself. 19 h2 API 20 p Currently the IttfEvaluator is not exposed by the wizzi-ittf package.
/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/ittf-model-loader.ittf
1 concept Ittf model loader 2 summary 3 p The IttfModelLoader is the transformation engine of the Wizzi Factory. 4 p It is exposed by the index.js module of the wizzi-ittf package: 5 js 6 - 7 - var md = module.exports = {}; 8 - /* 9 - params 10 - ittfDocumentUri : The uri or filepath of the source PrimaryIttfDocument 11 - requestContext: The template binding context 12 - callback : The async callback function that will receive 13 - the resulting IttfModel or an error object 14 - */ 15 - md.load = function (ittfDocumentUri, requestContext, callback) { 16 - if (typeof callback !== 'function') { 17 - throw new Error("Ittf.load. A callback is required"); 18 - } 19 - // ... 20 - } 21 p It transforms a source IttfDocument into a final IttfModel: 22 ul 23 li parses the IttfDocument; 24 li resolves MixinCalls, IncludeCalls and AppendHookCalls; 25 li processes template control nodes and other IttfNodeStatements; 26 li interpolates IttfNodeValues that contain IttfTemplateExpressions; 27 li rebuilds the transformed tree structure of the processed IttfDocument into a final IttfModel. 28 p Uses the following components 29 ul 30 li IttfLexer 31 li IttfParser 32 li IttfIncluder 33 li IttfMixer 34 li IttfAppender 35 li IttfEvaluator 36 h2 API 37 p The IttfModelLoader is used internally by WizziModelFactories, 38 + but you can access its API requiring the wizzi-ittf package.
/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/js-wizzi-context.docs.ittf
1 concept Js-Wizzi context 2 summary 3 p Is the context object used by the JsWizziRunner. 4 p The current context may be switched among 'NodeBuild', 'SourceIttfDocument' and 'Global' 5 + so it can be used to implement an IttfDocument level scope of execution.
/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour/js-wizzi-runner.docs.ittf
1 concept Js-Wizzi runner 2 summary 3 p JsWizziRunner is the Wizzi Factory javascript processor, used to transform 4 + IttfDocuments containing IttfNodeStatements and templated IttfNodeValues into a final IttfModel. 5 p It can executes Js-Wizzi scripts, a subset of javascript. 6 p It uses the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure, and 7 + has a good performance. 8 p The execution context values of the JsWizziRunner are initialized and 9 + manipulated using the JsWizziContext object that must be passed to it.
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/includeable-ittf-document.docs.ittf
1 concept Includeable ittf document 2 summary 3 p An includeable ittf document can be included in 4 + another IttfDocument. 5 p It may not have a $params IttfStatementNode as a child of its root node. 6 p It is included AS IS replacing 7 + the $include command node that invokes the inclusion. 8 p Since it is included before append and evaluation steps 9 + it may contain expression and template nodes just 10 + like any other templateable. 11 p It may contain $include command nodes. 12 p TODO May it contain mixin inclusion commmand nodes?
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-document.docs.ittf
1 concept Ittf document 2 summary 3 p An IttfDocument is the persistence format of a WizziModel. 4 p It is a textual representation of a <a href="https://en.wikipedia.org/wiki/Tree_(data_structure)">tree data structure</a> 5 + modeled using the Ittf notation. 6 p This could be an IttfDocument also: 7 ittf 8 - html 9 - body 10 - ul 11 - li 12 - a The Wizzi Factory 13 - href https://wizzifactory.github.io 14 p An IttfDocument is composable and templateable. It is parsed and processed by an IttfModelLoader into an 15 + in memory javascript tree structure named IttfModel. 16 ul It may contain two kind of nodes: 17 li an IttfDomainNode, that is an IttfNode describing an element or attribute of the domain that is modeled; 18 ittf 19 - table user 20 - column UserName 21 - column Email 22 li an IttfStatementNode, that is an IttfNode containg a composition or templating instruction for the IttfModelLoader. 23 ittf 24 - $foreach item in collection 25 - ... 26 p All the IttfNodes of an IttfDocument, included the IttfRootNode, are templateable. An IttfNodeValue of an IttfDomainNode 27 + may contain templated expressions. IttfStatementNodes 28 + may contain template control statements. Even IttfRootNodes may be IttfStatementNodes. The root node 29 + of an IttfDocument may be a MixinCall that will be replaced by the called MixinIttfDocument. 30 ul There are three kinds of IttfDocuments 31 table 32 class pretty-table 33 tr 34 td PrimaryIttfDocument 35 td The primary source of a WizziModelInstance, 36 + which Uri is passed to the IttfModelLoader. 37 tr 38 td MixinIttfDocument 39 td A TemplateableIttfDocument that can be mixed 40 + in a calling IttfDocument using a MixinCall. 41 tr 42 td IncludeableIttfDocument 43 td An IttfDocument that can be included AS IS in 44 + another IttfDocument.
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-model.docs.ittf
1 concept Ittf model 2 summary 3 p An IttfModel is the result of the loading, composition and template 4 + resolution of an Ittf document. 5 p It is an in memory javascript object with a tree data structure, and contains IttfDomainNodes only, 6 + with plain IttfNodeValues. 7 p It is ready to be verified against a WizziSchema and loaded into 8 + a WizziModelInstance.
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-notation.ittf
1 concept Ittf notation 2 summary 3 p Ittf stays for Indented Text Tree Format, the notation format of 4 + every wizzi factory model. 5 p It is a textual representation of a <a href="https://en.wikipedia.org/wiki/Tree_(data_structure)">tree data structure</a> 6 + where child nodes are indented one level below their parent. 7 p Example. This is a tree data structure in Ittf format: 8 ittf 9 - html 10 - body 11 - ul 12 - li 13 - a The Wizzi Factory 14 - href https://wizzifactory.github.io 15 p Some Ittf terms: 16 table 17 class pretty-table 18 tr 19 td IttfDocument 20 td A text document containing a tree data structure written using the Ittf notation. 21 tr 22 td IttfNode 23 td A node item; a string of chars on a single line, that is parsed in a name, value 24 + pair separated by a whitechar (space or TAB). 25 tr 26 td Name 27 td The name part of an IttfNode, also IttfNodeTag. 28 tr 29 td Value 30 td The value part of an IttfNode; may be optional or required; may be multi-line (see the $. 31 + \ command nodes for multi-line values). 32 tr 33 td Parent 34 td The parent node of an IttfNode. 35 tr 36 td Root 37 td The root node of an IttfDocument; its Parent is null. 38 tr 39 td Branch 40 td A sub tree of an IttfNode that is not the root. 41 tr 42 td Children 43 td The child nodes of an IttfNode.
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/ittf-statements.docs.ittf
1 concept Ittf command nodes 2 summary 3 p Ittf command nodes allow ittf documents to act as composable and templateable 4 + tree data structures. 5 h3 Mixin inclusion command 6 p Format: 7 ittf 8 - ... 9 - mixin-path( mixin-param-1 [mixin-param-2, [...]] ). 10 - [ optional ittf node branch ] 11 p A mixin inclusion is recognized by the lexer when a node name ends with 12 + an open parenthesis. The chars before the parens are the relative path 13 + to the mixin. The base path is the current ittf document uri. 14 + No whitechar may separate the mixin path and the open paren. 15 p The mixin ittf is inserted in the including ittf replacing 16 + the inclusion command node. If the includer node has children 17 + they, by default, are appended to the root node of the mixin. 18 + But if the mixin root has a descendant that is a default 19 + $hook command node, than the children of the 20 + includer node replace the $hook node. 21 p Example of mixin with an $hook node where children 22 + of the includer node will be appended. 23 ittf 24 - table 25 - tr 26 - $hook 27 p Root nodes can be command inclusion nodes: 28 ittf 29 - mylayout( home ) 30 - div My content 31 h3 $include 32 p Format: 33 ittf 34 - ... 35 - $include include-path 36 p include-path is the relative path to an includeable ittf. 37 + The base path is the current ittf document uri. 38 p The includeable is included AS IS replacing 39 + the $include command node. 40 p An $include command node may not have children nodes. 41 h3 $params 42 p Format: 43 ittf 44 - rootnode 45 - $params name1[:type[|default]][, name2[... 46 p Example: 47 ittf 48 - li 49 - $params text, href 50 - a ${dollar}{text} 51 - href ${dollar}{href} 52 h3 $hook 53 p Format 54 ittf 55 - ... 56 - $hook name 57 p An $hook command node is a named insertion point where IttfNodeBranches can 58 + be appended. The name is optional, when missing its value is 'default'. 59 p It has to be replaced and may not have child nodes. 60 p See the statements MixinCall and AppendHookCall, for how to append 61 + IttfNodeBranches to an $hook node. 62 h3 $append 63 p Format 64 ittf 65 - ... 66 - $append hook-name 67 - ... nodeb ranch ... 68 p An $append command node is the root of a node branch that should be 69 + appended to an ancestor $hook of name hook-name. 70 + The $append children nodes replace the $hook node. 71 h3 $group 72 p Format 73 ittf 74 - $group empty-value 75 - ... node branch ... 76 p An ittf document must have one and only one root node. 77 p The $group command node is a convenience node that may be used as the root of 78 + an includeable or mixin with many root nodes. 79 p The $group node disappear in the builded tree. 80 h3 $if, $elif, $else 81 p Format: 82 ittf 83 - ... 84 - $if js-wizzi-conditional-expression 85 - ... nodeb ranch ... 86 - $elif js-wizzi-conditional-expression 87 - ... nodeb ranch ... 88 - $else empty-value 89 - ... nodeb ranch ... 90 p Children node are included/excluded depending on the value of the conditional-expression, 91 + written in Js-Wizzi. 92 h3 $foreach statement 93 p Format: 94 ittf 95 - ... 96 - $foreach item-name in collection-name 97 - ... node branch ... 98 p This is a repeat template where item-name is user defined and 99 + collection-name is a Js-Wizzi expression that evaluates to an iterable. 100 p The var statement that declares item-name is auto-generated. 101 p Descendant nodes are repeated having item-name as a context value in scope. 102 h3 $break, $continue 103 p Format: 104 ittf 105 - ... 106 - $break empty-value 107 - ... 108 - $continue empty-value 109 p This statements have the same meaning than in javascript but operate breaking or continuing 110 + the template repetition. 111 p Currently a label for continuation is not implemented. 112 h3 $while 113 p Format: 114 ittf 115 - ... 116 - $while js-wizzi-conditional-expression 117 - ... node branch ... 118 - $ js-wizzi-exit-condition-change 119 p This is a repeat template statement where descendant nodes are repeated 120 + until the js-wizzi-conditional-expression evaluates to false. 121 p $ or $global command nodes must be used to modify the context values of the exit condition. 122 + There is a limit of 10000 iterations to guard against accidental loops, after that an exception is raised. 123 h3 $ comman node 124 p Allow manipulation of the template context. 125 p May declare and modify template context variables that have ittf document scope. 126 div May modify template context variables that have global scope. 127 div Statements are js-wizzi instructions. 128 p Single line format: 129 ittf 130 - ... 131 - $ js-wizzi-statement 132 p Multi-line format: 133 ittf 134 - 135 - js-wizzi-statement 136 - js-wizzi-statement 137 - ... 138 h3 $global command node 139 p May declare and modify template context variables of the global scope. 140 div Statements are js-wizzi instructions. 141 p Single line format: 142 ittf 143 - ... 144 - $global js-wizzi-statement 145 p Multi-line format: 146 ittf 147 - $global 148 - js-wizzi-statement 149 - js-wizzi-statement 150 - ...
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/js-wizzi.docs.ittf
1 concept Js-Wizzi 2 summary 3 p Js-Wizzi is a subset of ECMA-262 javascript standard used by 4 + the wizzi factory for processing templated ittf documents. 5 p Js-Wizzi uses the quite efficent <a href="http://esprima.org/">esprima</a> parsing infrastructure 6 + and a customized javascript engine (Js-Wizzi-Runner). 7 p Ittf documents may contain Js-Wizzi statements in 8 ul 9 li Value of domain nodes 10 ittf 11 - 12 - caption ${dollar}{ name.capitalize() } 13 li Conditional expression of $if, $elif, $while command nodes 14 li Collection name of $foreach command node 15 li Body of $ and $global command nodes 16 p Example of use of Js-Wizzi 17 ittf 18 - 19 - ul 20 - $ var i = 0; 21 - $while i < 10 22 - li counting ${dollar}{i} 23 - $ i++; 24 p The esprima syntax tree format is expected to be compatible with the Mozilla SpiderMonkey Parser API. 25 ul The node types implemented by Js-Wizzi are: 26 li VariableDeclaration 27 li STATEMENTS 28 ul 29 li EmptyStatement 30 li ExpressionStatement 31 li IfStatement 32 li WhileStatement 33 li DoWhileStatement 34 li ForStatement 35 li ForInStatement 36 li BreakStatement 37 li ContinueStatement 38 li ReturnStatement 39 li EXPRESSIONS 40 ul 41 li UnaryExpression: ! 42 li BinaryExpression: +. -, *, /, ==, ===, !=, !==, >=, >, <=, < 43 li UpdateExpressions: ++, -- 44 li LogicalExpression: &&, || 45 li ConditionalExpression: test ? consequent : alternate 46 li CallExpression 47 li MemberExpression 48 li AssignmentExpression: =, *=, /=, %=, +=, -=, <<=, >>=, >>>=, &=, ^=, |= 49 li ArrayExpression 50 li ObjectExpression 51 li FunctionCall 52 li FunctionDeclaration 53 div Simple function declaration. No prototypes. No function 54 + objects; functions cannot be built by code and used like objects.
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/mixin-ittf-document.docs.ittf
1 concept Mixin ittf document 2 summary 3 p A mixin ittf document may be mixed 4 + in another ittf document. 5 p It may have binding parameters that are set on its template evaluation context 6 + and are in scope of its nodes only (not of nodes eventually included or mixed). 7 p May contain named $hook nodes where children of the node invoking the mixin inclusion 8 + can be appended. 9 p Example mixin ittf document 10 ittf 11 - li 12 - $params text, href|# 13 - a ${dollar}{text} 14 - href ${dollar}{href} 15 - $hook default ${dollar}$ the name default may be omitted 16 p Example of inclusion invoking document 17 ittf 18 - html 19 - ... 20 - ul 21 - lia( Wizzi factory, https://wizzifactory.github.io/) 22 - br 23 - span A model driven software factory. 24 - lia( NodeJs, https://nodejs.org)
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/primary-ittf-document.docs.ittf
1 concept Primary Ittf document 2 summary 3 p A Primary ittf document has the root node that is 4 + the root of a wizzi model. 5 p Usually the root node is a domain node. 6 ittf 7 - html 8 - head 9 - ... 10 - body 11 - ... 12 p But it may be also a mixin inclusion command node. 13 p The IttfNodeRoot can be a MixinCall to a MixinIttfDocument, which IttfNodeRoot 14 + will become the root DomainNode of the model; 15 ittf 16 - layout() 17 - section 18 - ... 19 p Or can be a branch domain node of a WizziModelInstance, it 20 + is not required to be the root node; 21 ittf 22 - div 23 - ... 24 p A PrimaryIttfDocument may declare a $params IttfStatementNode 25 + as a child of the IttfNodeRoot. Being a primary source, 26 + parameters cannot be passed by MixinCalls but can 27 + be passed in the IttfLoadingContext. 28 ittf 29 - html 30 - $params borderColor 31 - ...
/src/ittf/models/docs/t/docs/wizzi-ittf/structure/templeatable-ittf-document.docs.ittf
1 concept Templateable ittf document 2 summary 3 p Some terms: 4 table 5 class pretty-table 6 tr 7 td TemplateableIttfDocument 8 td Is a mix of: 9 li IttfDomainNodes with a PlainIttfNodeValue. 10 ittf 11 - primaryKey User_ID 12 li IttfDomainNodes with a TemplatedIttfNodeValue; they require interpolation (VariableSubstitution). 13 ittf 14 - primaryKey ${dollar}{ table.name.toUpperCase() }_ID 15 li IttfTemplateControlNodes, they allow TemplateConditionalInclusion 16 ittf 17 - $if table.hasPrimaryKey() 18 - ... 19 li JsWizziIttfNodes, they can manipulate the TemplateContext. 20 ittf 21 - $ var columnCount = table.columns.length; 22 tr 23 td TemplateContext 24 td Contains the context values for VariableSubstitution and evaluation of IttfTemplateControlNodes. 25 tr 26 td TemplateResolution 27 td A TemplateableIttfDocument is <i>resolved in</i> a TemplateContext. 28 p The TemplateContext is created from the IttfLoadingContext that is 29 + passed to the IttfModelLoader. In case of a MixinIttfDocument the MixinCallParameters 30 + are added to it; they override any property of the IttfLoadingContext with the same name. 31 p The IttfTemplateEvaluator generates and execute in memory a javascript module 32 + that rebuilds the IttfModel node tree, processing expressions and flow control statements 33 + declared in the IttfNodes of the TemplateableIttfDocument.
/src/ittf/models/docs/t/docs/wizzi-ittf/behaviour.docs.ittf
1 $group 2 $include behaviour/ittf-model-loader 3 $include behaviour/ittf-evaluator 4 $include behaviour/js-wizzi-runner 5 $include behaviour/js-wizzi-context
/src/ittf/models/docs/t/docs/wizzi-ittf/index.docs.ittf
1 $group
/src/ittf/models/docs/t/docs/wizzi-ittf/structure.docs.ittf
1 $group 2 $include structure/ittf-notation 3 $include structure/ittf-document 4 $include structure/templeatable-ittf-document 5 $include structure/js-wizzi 6 $include structure/ittf-statements 7 $include structure/primary-ittf-document 8 $include structure/mixin-ittf-document 9 $include structure/includeable-ittf-document
/src/ittf/models/docs/t/docs/wizzi-schema/behaviour/wizzi-model-factory.docs.ittf
1 concept Wizzi model factory 2 summary 3 p A WizziModelFactory loads an IttfDocument into a WizziModelInstance 4 + of a WizziModelType. 5 p Uses the IttfModelLoader to load the IttfDocument into an IttfModel. 6 p Instantiate the WizziModelInstance and calls its LoadFrom method passing 7 + the IttfModel as an argument. 8 p Calls the wzInitialize and wzVerify methods on the WizziModelInstance. 9 p If the model is validated returns it through a callback.
/src/ittf/models/docs/t/docs/wizzi-schema/behaviour/wizzi-model-production.docs.ittf
1 concept Wizzi model production 2 summary 3 p The WizziModelProduction is the Wizzi Factory production that generates 4 + a WizziModelType and its WizziModelFactory from a WizziSchema. 5 p It is packaged in the wizzi-schema package for convenience reasons 6 + in the bootstrap stage of the Wizzi Factory. 7 h2 API 8 p
/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-meta-schema.docs.ittf
1 concept Wizzi meta schema 2 summary 3 p A WizziMetaSchema is the meta model of a WizziSchema. 4 p It models a WizziSchema with the same notation with which 5 + a WizziSchema models a WizziModelType. 6 p It describes the model elements: WizziSchema, Element, Attribute, 7 + Relation, Restrict, ExportTo, Require and Method. 8 h3 WizziSchema element 9 ittf 10 - wfschema schema-name 11 - [0..n]<b><i>requires</i></b> 12 - [0..n]<b><i>exportTos</i></b> 13 - [1..n]<b><i>elements</i></b> 14 h2 Model elements 15 h3 Element element 16 ittf 17 - ... 18 - e element-name [: super-element-name] 19 - <i>super</i> super-element-name 20 - <i>tag</i> tag-string 21 - <i>xml-tag</i> xml-tag-string 22 - <i>is-abstract</i> 23 - <i>is-root</i> 24 - <i>name-is-required</i> 25 - <i>add-to-children</i> 26 - [0..n]<b><i>attributes</i></b> 27 - [0..n]<b><i>relations</i></b> 28 - [0..n]<b><i>methods</i></b> 29 h3 Relation element 30 p Format: 31 ittf 32 - ... 33 - r related-element-name[ [plural-suffix-a] / plural-suffix-b ] 34 - <i>one-to-one</i> 35 - <i>no-get</i> 36 p Example: 37 ittf 38 - ... 39 - e table : dbitem 40 - r column/s 41 - r propert-y/ies 42 - r displayLayout 43 - one-to-one 44 p related-element-name plus the eventual plural-suffix-a must give the name of an 45 + Element element defined in the schema (that is the related Element); in the 46 + example: column, property, displayLayout. 47 h3 Attribute element 48 p Describes an attribute of an Element element. 49 p Format: 50 ittf 51 - ... 52 - a attribute-name 53 - <i>tag</i> tag-string 54 - <i>xml-tag</i> xml-tag-string 55 - <i>type</i> type-name 56 - <i>default</i> default-value 57 - <i>default-when-declared</i> default-value-when-declared 58 - <i>is-datatype</i> 59 - <i>is-required</i> 60 - [0..n]<b><i>restricts</i></b> 61 h3 Restrict element 62 p Format: 63 ittf 64 - ... 65 - restrict 66 - [0..n]enum enum-value 67 - <i>max-length</i> value 68 - <i>min-length</i> value 69 - <i>max-value</i> value 70 - <i>min-value</i> value 71 - <i>regexp</i> value 72 h2 Model type code elements 73 p The following elements of the WizziMetaSchema consent the insertion of javascript code in the 74 + WizziModelType that will be generated by the WizziModelProduction 75 h3 ExportTo element 76 p Format: 77 ittf 78 - wfschema schema-name 79 - export-to format-name 80 p Corrently available format is: 'json'. 81 p En exportTo element causes the insertion in the WizziModelType of the WizziSchema 82 + of the prototype functions for exporting the tree data structure of the model in 83 + the requested format. 84 h3 Require element 85 p Format: 86 ittf 87 - wfschema schema-name 88 - require module-name 89 - <i>declare-var</i> var-name 90 - <i>invoke</i> invoke-string 91 - <i>kind</i> kind-name 92 h3 Method element 93 p Declares a method that will be added in the WizziModelType to the pseudo-class of 94 + the containing Element. The method can access and manipulate the entire model 95 + tree structure. 96 p Format: 97 ittf 98 - ... 99 - m method-name 100 - [0..n]<b><i>params</i></b> 101 - [0..n]<b><i>statements</i></b> 102 h3 Parameter element 103 p Format: 104 ittf 105 - ... 106 - param param-name 107 h3 Statement element 108 p The statement element uses a subset of the CodeWizziSchema 'js'
/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-model-instance.docs.ittf
1 concept Wizzi model instance 2 summary 3 p A WizziModelInstance is an instance of a WizziModelType created by a WizziModelFactory. 4 ul It is a javascript object that may be used as a context object: 5 li in an ArtifactGeneration; 6 li in a WizziModelTransformation; 7 li in the WizziModelLoading of another WizziModelInstance.
/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-model-type.docs.ittf
1 concept Wizzi model type 2 summary 3 p A WizziModelType is the javascript representation of a WizziSchema. 4 p Mapping of a WizziSchema to a WizziModelType 5 table 6 tr 7 td Require element 8 td javascript/jsnode require statement 9 tr 10 td Element element 11 td javascript pseudo-class 12 tr 13 td Super attribute 14 td javascript pseudo-inehritance. 15 tr 16 td Attribute element 17 td Property of a primitive type of the element pseudo-class 18 tr 19 td Restrict element 20 td Validation statements in the wzVerify method of the element pseudo-class 21 tr 22 td One-to-many Relation element 23 td javascript array of Right elements as a property of Left element pseudo-class 24 tr 25 td One-to-one Relation element 26 td javascript object of Right element as a property of Left element pseudo-class 27 tr 28 td Method element 29 td javascript function in the prototype of the element pseudo-class 30 tr 31 td ExportTo element 32 td javascript function in the prototype of the element pseudo-class 33 + that implements the export of the model instance 34 p WizziModelType pseudo-classes are instantiated by the WizziModelFactory during 35 + a WizziModelLoading.
/src/ittf/models/docs/t/docs/wizzi-schema/structure/wizzi-schema.docs.ittf
1 concept Wizzi schema 2 summary 3 p The domains of interest for the productions of Software Artifacts 4 + are modeled using WizziSchemas, the core modeling tool of the Wizzi Factory. 5 p A schema is modeled using the Ittf notation and may be composed 6 + by one or many IttfDocuments. 7 p An example of WizziSchema: 8 ittf 9 - wfschema rdbms 10 - e catalog 11 - r table/s 12 - e table 13 - r column/s 14 - r index/es 15 - e column 16 - a type 17 - a caption 18 - a defaultValue 19 - tag default 20 - e index 21 - a primary 22 - type boolean 23 - a unique 24 - type boolean 25 - r column/s 26 p WizziSchemas are then transformed 27 + in javascript object models, named WizziModelTypes, that can be 28 + instantiated and loaded with instance 29 + model data by a WizziModelFactory. WizziModelInstances can be 30 + transformed and/or used as data contexts in ArtifactProductions. 31 p A sample rdbms WizziModel conformant to the previous WizziSchema: 32 ittf 33 - rdbms School 34 - table Student 35 - column Id 36 - type integer 37 - column Name 38 - type string 39 - index Student-PK 40 - primary true 41 - column Id 42 - table Course 43 - column Id 44 - type integer 45 - column Title 46 - type string 47 - index Student-PK 48 - primary true 49 - column Id 50 p A WizziSchema has itself a WizziModelType, 51 + with its WizziModelFactory, created from a meta schema named 'wfschema'. 52 p WizziModelTypes and WizziModelFactories are artifacts generated from 53 + a WizziSchema by a WizziModelProduction. 54 p See the WizziSchema specification.
/src/ittf/models/docs/t/docs/wizzi-schema/behaviour.docs.ittf
1 $group 2 $include behaviour/wizzi-model-factory 3 $include behaviour/wizzi-model-production
/src/ittf/models/docs/t/docs/wizzi-schema/structure.docs.ittf
1 $group 2 $include structure/wizzi-schema 3 $include structure/wizzi-meta-schema 4 $include structure/wizzi-model-type 5 $include structure/wizzi-model-instance
/src/ittf/models/docs/t/docs/wizzimodel/factorymodule.docs.ittf
1 concept The wizzi model factory javascript module 2 summary 3 p The javascript module `schema-name`-factory.g.js exports the method 4 + 'createLoadModel', that is an HOF that returns the 'loadModel' function. 5 + It must be called passing the 'wizzi' object. 6 h4 The `schema-name`-factory.g.js API 7 p We have seen already this api in the 'plugin' documentation. Repetita juvant. 8 ittf 9 - { 10 - func createLoadModel 11 - # HOF : returns the loadModel function for the given factory 12 - { wizziObject 13 - func loadMTree 14 - api-ref wizzi-mtree.loader.loadMTree 15 - # This function is prepared by the wizzi.wizziFactory instance class 16 - # and has repository access functions and load options in its closure. 17 - { file 18 - api-ref wizzi.util.file 19 - { errors 20 - api-ref wizzi.errors 21 - ... 22 - return 23 - func loadModel 24 - # This returned function require a complex 'loadContext' 25 - # parameter with a lot of interfaces passed. 26 - # It will be called by the wizzi.wizziFactory instance and 27 - # not directly from client code. 28 - string ittfDocumentUri 29 - # The path to the primary ittf document from which 30 - # the mTree will be loaded 31 - { loadContext 32 - { __productionManager 33 - api-ref wizzi.production.productionManager 34 - { productionContext 35 - api-ref wizzi.production.productionContext 36 - { aclstat 37 - api-ref wizzi.production.aclstat 38 - { __ittfDocumentStore 39 - api-ref wizzi-repo.ittfDocumentStore 40 - { mTreeBuildUpContext 41 - optional 42 - | api-ref wizzi-plugin.wizziModel 43 - | POJO 44 - callback
/src/ittf/models/docs/t/docs/wizzimodel/generation.docs.ittf
1 concept Wizzi models generation 2 summary 3 p Wizzi models can be generated calling the 'generateModelTypes' method of an 4 + instance of the wizzi.WizziFactory class, initizialized with the 'wizzi-core', 5 + 'wizzi-js' and 'wizzi-html' plugins. 6 p This is the api of the wizzi.WizziFactory.generateModelTypes method. 7 ittf 8 - ... 9 - m generateModelTypes 10 - string wfschemaIttfDocumentUri 11 - # The full path to the primary ittf document of the schema description 12 - string outputPackagePath 13 - # The full path of the package folder where the generated artifacts will be written 14 - string wfschemaName 15 - # The schema name, for composing the names of the generated artifacts 16 - { mTreeBuildUpContext 17 - # A context object which properties will inserted in the global 18 - # evaluation context during the mTree loading of the schema 19 - callback
/src/ittf/models/docs/t/docs/wizzimodel/index.docs.ittf
1 $group 2 concept Wizzi models 3 summary 4 p Wizzi models are javascript document objects, inspired by Xml document objects, 5 + that can load mTrees, applying a type to their nodes, that are 6 + trasformed in instances of classes and typed instance properties. 7 p To be loaded in a wizzi model an mTree node structure must be conformant to the 8 + wizzi model type, otherwise an mTreeLoadError is thrown. 9 p Wizzi model types are described using a meta wizzi model, of type 'wfschema', 10 + implemented by the 11 span 12 a 'wizzi-core' 13 href https://github.com/wizzifactory/wizzi-core 14 span plugin. 15 p Wizzi models are themself software artifacts generated by artifact generators 16 + of the wizzi-core plugin. They receive, as source model, a wizzi model 17 + of type 'wfschema' and, from its definitions, generate: 18 ul 19 li the wizzi model javascript module 20 li the model factory javascript module 21 li a json documentation file 22 li a html documentation file. 23 h4 Table of wizzi model artifact generators and links to source code 24 table 25 class pretty-table 26 tr 27 th artifact 28 th file name 29 th language 30 th plugin ittf 31 th plugin js 32 tr 33 td wfschema/factory 34 td `schema-name`-factory.g.js 35 td javascript 36 td 37 a v3 38 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/factory/gen 39 td 40 a v3 41 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/factory/gen 42 tr 43 td wfschema/model 44 td `schema-name`-model.g.js 45 td javascript 46 td 47 a v3 48 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/model/gen 49 td 50 a v3 51 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/model/gen 52 tr 53 td wfschema/html_docs 54 td `schema-name`-schema.g.html 55 td html 56 td 57 a v3 58 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/html_docs/gen 59 td 60 a v3 61 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/html_docs/gen 62 tr 63 td wfschema/json_docs 64 td `schema-name`-schema.g.json 65 td json 66 td 67 a v3 68 href https://github.com/wizzifactory/v3-plugins/tree/master/v3-wizzi-core/ittf/lib/artifacts/wfschema/json_docs/gen 69 td 70 a v3 71 href https://github.com/wizzifactory/wizzi-core/tree/master/lib/artifacts/wfschema/json_docs/gen 72 $include ./generation 73 $include ./modelmodule 74 $include ./factorymodule
/src/ittf/models/docs/t/docs/wizzimodel/modelmodule.docs.ittf
1 concept The wizzi model javascript module 2 summary 3 p A wizzi model is a javascript module containg a javascript class for each 4 + element defined in its 'wfschema' and some standard base 5 + and helper classes. 6 h4 Wizzi model classes 7 table 8 tr 9 td wzSourceLineInfo 10 td source map item with source file path, row, col of a node 11 tr 12 td `schema-name`Exception 13 td exception object for this wizzi model 14 tr 15 td `schema-name`Context 16 td context object for the methods wzInitialize and wzVerify 17 tr 18 td `schema-name`Base 19 td base class for all element classes 20 tr 21 td `element-name` 22 td one class for each element of the schema 23 h4 The wzSourceLineInfo API 24 ittf 25 - class wzSourceLineInfo 26 - ctor 27 - integer row 28 - # 1-based row position of the source ittf node 29 - integer col 30 - # 1-based column position position of the source ittf node 31 - string sourceKey 32 - # Key to the source ittf document infos stored in the 'loadContext' object 33 - # The 'loadContext' is a property of the root element 34 - m toString 35 - { elementInstance? 36 h4 The `schema-name`Exception API 37 ittf 38 - class `schema-name`Exception 39 - ctor 40 - string message 41 - { ittfNode 42 - { elementInstance 43 h4 The `schema-name`Context API 44 ittf 45 - class `schema-name`Context 46 - boolean schemaIsValid 47 - m addError 48 - string message 49 - { mTreeNode 50 - m verifyEnum 51 - string valueType 52 - string valueName 53 - string value 54 - [ allowed 55 - string allowedValue 56 - { mTreeNode 57 h4 The `schema-name`Base API 58 ittf 59 - class `schema-name`Base 60 - string wzName 61 - string wzTag 62 - [ wzChildren 63 - ctor 64 - string name 65 - # the node-value of the source mTreeNode 66 - # that becomes the 'wzName' of the newly created element 67 - { sourceLineInfo 68 - api-ref wizzimodel.wzSourceLineInfo 69 - m wzRoot 70 - # Return the model root element instance 71 - m wzSourceFilepath 72 - # Returns the filepath of an ittf source document given its 'sourceKey' 73 - string sourceKey 74 - m wzAddChild 75 - # Add a child node to the wzChildren collection 76 - { elementInstance 77 - m wzLoadToChildColl 78 - # Creates a new element instance given the type of its source mTreeNode 79 - # Append it to the collection passed as parameter. 80 - # Call the loadFromNode method of the newly created element 81 - # with the source mTreeNode as argument. 82 - { mTreeNode 83 - # the mTreeNode that we are loading 84 - { type 85 - # the javascript class of the wizzi model element 86 - # that is the type for mTreeNode given its node-name 87 - { coll 88 - # the collection to which the newly created element should be appended 89 - m wzLoadToChildren 90 - # Creates a new element instance given the type of its source mTreeNode 91 - # Append it to the wzChildren collection. 92 - # Call the loadFromNode method of the newly created element 93 - # with the source mTreeNode as argument. 94 - { mTreeNode 95 - { type 96 - m wzLoadOneToOne 97 - # Creates a new element instance given the type of its source mTreeNode 98 - # Assign it to the `fieldName` property. 99 - # Call the loadFromNode method of the newly created element 100 - # with the source mTreeNode as argument. 101 - { mTreeNode 102 - { type 103 - string fieldName 104 - m error 105 - # throw a `schema-name`Exception 106 - string message 107 - { mTreeNode 108 h4 The `element-name` API 109 ittf 110 - class `element-name` 111 - m loadChild 112 - # Tests if the mTreeNode name is a valid child element or attribute. 113 - # If yes call the proper add method and return true. 114 - # If no return false. 115 - { mTreeNode 116 - m loadFromNode 117 - # Calls the loadChild method on this element 118 - # for each child node of the mTreeNode to load. 119 - { mTreeNode 120 - m wzInitialize 121 - # Initialize the element 122 - # Called after the source mTree has been succesfully loaded. 123 - param ctx 124 - api-ref `schema-name`Context 125 - m wzVerify 126 - # Verify if the element is valid 127 - # Called after the wzInitialize method. 128 - { ctx 129 - api-ref `schema-name`Context
/src/ittf/models/docs/t/labs/t/resource.docs.ittf
1 $group 2 $params name 3 h3 ${name} 4 table 5 class pretty-table 6 < thead 7 < tr 8 < td Resource 9 < td Description 10 < tbody 11 $hook
/src/ittf/models/docs/t/labs/data-lab.docs.ittf
1 object The Data Lab 2 summary 3 resource( WizziSchemas ) 4 tr 5 td rdbms 6 td A relational database meta model 7 tr 8 td graph 9 td A graph database meta model
/src/ittf/models/docs/t/labs/form-lab.docs.ittf
1 object The Form Lab 2 summary 3 resource( WizziSchemas ) 4 tr 5 td form 6 td An ui form meta model
/src/ittf/models/docs/t/labs/rest-lab.docs.ittf
1 object The Rest Lab
/src/ittf/models/docs/t/labs/site-lab.docs.ittf
1 object The Site Lab 2 summary 3 resource( WizziSchemas ) 4 tr 5 td js 6 td A javascript LanguageWizziSchema 7 tr 8 td html 9 td An Html LanguageWizziSchema 10 tr 11 td css 12 td A style sheet LanguageWizziSchema
/src/ittf/models/docs/t/project/issues_old.docs.ittf
1 $group 2 issue wizzi-mtree.loader. Missing value on a context model replaced arbitrarily 3 summary 4 p If a collection item in a context model has a property with a value in 5 + some items and no value in others, when has no value a casual value is returned instead of empty. 6 categories mTree 7 issue IttfInclude. $param root node in included document 8 summary 9 p If the root node of the included document is a $params node the loading must fail 10 + and the error must be logged 11 categories mTree 12 issue Error messages sometimes are obscure or incorrect 13 summary 14 p We need a better strategy to print the exact file, and line of 15 + code where an error occurred 16 issue IttfLoader - Mixins. Error loop when passing object arguments to a mixin. 17 summary 18 p When a mixin has an object param and calls another mixin passing an object argument 19 + the loading loops 20 issue The role of the require element of the wfschema is unclear 21 summary 22 p Should be node-js require only or 23 + may be used to require features.
/src/ittf/models/docs/t/project/issues.docs.ittf
1 $group 2 issue wizzi-mtree.loader. Missing value on a context model replaced arbitrarily 3 summary 4 p If a collection item in a context model has a property with a value in 5 + some items and no value in others, when has no value a casual value is returned instead of empty. 6 categories mTree 7 issue Error messages sometimes are obscure or incorrect 8 summary 9 p We need a better strategy to print the exact file, and line of 10 + code where an error occurred 11 issue IttfLoader - Mixins. Error loop when passing object arguments to a mixin. 12 summary 13 p When a mixin has an object param and calls another mixin passing an object argument 14 + the loading loops 15 issue The role of the require element of the wfschema is unclear 16 summary 17 p Should be node-js require only or 18 + may be used to require features.
/src/ittf/models/docs/t/project/newversion.docs.ittf
1 $group 2 issue from v3 to v4 3 summary
/src/ittf/models/docs/t/project/roadmap.docs.ittf
1 roadmap Roadmap 2 summary 3 p The roadmap is a living document, and can change at any time, but the list below should 4 + give some indication of our plans for the near future. 5 p NOTE: today, 14 of september, the milestones for this year have been 6 + delayed 1 month. Sorry, but lots of tests have been added. 7 br 8 br 9 milestone End of september 2017: first partial pre-release 10 summary 11 h5 'wizzi-demo' package 12 ul 13 li First documented pre-release. 14 li Announce on facebook and twitter with caution for weak error checking. 15 h5 'wizzi-docs' package 16 ul 17 li Continues the documentation effort. 18 li First release of complete Api and Code sections. 19 br 20 br 21 milestone End of october 2017: wizzi factory v4 (0.4.0 pre-release) 22 summary 23 h5 jsWizzi and mTree loading 24 ul 25 li Complete test coverage of jsWizzi and mTree loading. 26 h5 'js' language schema and 'js/module' artifact 27 ul 28 li Automatic type check of function arguments when code is generate in debug mode. 29 + A new notation for declaring parameters will be implemented. 30 ittf 31 - function alfa 32 - string beta 33 - { options 34 - boolean gamma 35 - optional 36 li A js/preprocess model transformer (optional). 37 div It will consent to avoid the clumsy 'set' and '_' node tags when not needed for some specific mTree build-up purpose. 38 h5 'wizzi-demo' package 39 ul 40 li Plenty of examples. 41 br 42 br 43 milestone End of december 2017: wizzi factory v5 (0.5.0 pre-release) 44 summary 45 p We hope that starting from this version the wizzi factory will be usable 46 + without the risk of losing time for bad error tracking. 47 br Every effort will be put on tests, documentation and a neat 48 + error message system for loading and generation failures. 49 h5 jsWizzi and mTree loading 50 br 51 br 52 milestone Year 2018: wizzi studio and plugins development 53 summary 54 p The year 2018 will be dedicated to the development of a web application 55 + for managing ittf documents of models, transformers and artifact generators. 56 p We will be able to monitor interactively the buildup of an mTree and its transformations. 57 p The visitor pattern will be implemented to support model transformations. 58 p We will focus on the automation of generation tasks based on the [#schema(wfjob)] schema. 59 p New plugins will be developed for data management, form building, rest server apis 60 + and single page applications.
/src/ittf/models/docs/t/project/status.docs.ittf
1 roadmap Status 2 summary 3 p Development of functionalities is satisfactory. Model definitions and 4 + generation processes are reaching a fluid and mature status. 5 + But engeneering, tests and tracking errors in source documents are Achille heels. 6 br This project comes from interests in economy and biology. We hope 7 + we will get engineers on board soon. 8 br 9 milestone At august 2017 10 summary 11 ul 12 li We are in version v3 (0.3.x pre-release). 13 li The entire wizzi factory is auto generated from ittf documents 14 + except images and fonts. <br>This is a major milestone. 15 li The kernel functions begin to be quite stable. 16 li But error checking of source documents is awful. 17 li <b> The wizzi factory is not 18 + yet usable</b>. 19 li <b>WORK IN PROGRESS</b> will be there at least until v5 (0.5.x pre-release).
/src/ittf/models/docs/t/project/todos_old.docs.ittf
1 $group 2 todo Implement a line continuation character 3 summary 4 p Long node values looks better when in a new line. 5 + the blackslash at the beginning of the line should be fine. 6 + At the beginning of the continuation line, not at the end of 7 + the continued line, is more Wizzi style. 8 todo Implement multi node mixin call Ittf statement in the Ittf prettifier 9 todo Manage the close paren of mixin call Ittf statement in the Ittf prettifier 10 todo Correctly implement comments in the Ittf prettifier 11 todo Add node documentation support to the Ittf prettifier 12 summary 13 p The Ittf prettifier could be implementaed also as a 14 + Wizzi model loader feature. 15 p Ittf nodes could be beautified and have a popup linked to 16 + the Wizzi schema documentation of the node semantics. 17 todo Have a look at http://redcloth.org/textile for ideas evolving the @docs@ Wizzi schema. 18 categories wfschema:docs 19 todo Implement an is-root attribute on a the WizziMetaSchema Element element 20 summary 21 p Allow the first element on the schema not be the root element 22 todo Implement the xml-tag attribute on the WizziMetaSchema Attribute element 23 todo In js-wizzi-schema the throw node should accept child arguments 24 todo How to test root reached in a directory findUp 25 summary 26 p How to test that base path is the root (drive) : set basePath = path.dirname(basePath) 27 p if (basePath.length > 3) { // TODO limit to app root 28 p Search t folder (wizzi-ittf) 29 p Find package (wizzi-factory)
/src/ittf/models/docs/t/project/todos.docs.ittf
1 $group 2 todo Features 3 summary 4 h3 wfjob and production manager 5 p Implement transpiling of native and generated artifacts. 6 + Introduce a 'transpile' element in the 'wfjob' schema. 7 todo Documentation 8 summary 9 p We are completing the sections 10 a Docs 11 href https://wizzifactory.github.io/docs 12 span , 13 a Api 14 href https://wizzifactory.github.io/api 15 span and 16 a Code 17 href https://wizzifactory.github.io/code/wizzi 18 span of the project site on 19 a github 20 href https://wizzifactory.github.io 21 span . 22 p A new section 23 a Plugins 24 href https://wizzifactory.github.io/plugins 25 span , is under development. It will contain the generated documentation of 26 + plugins already developed. 27 todo Testing 28 summary 29 p The mTree loader and the production manager are under heavy testing.
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/call.docs.ittf
1 $group 2 ls( call node {ittf-tag _} ) 3 $append summary-js 4 ul call nodes accept as children nodes 5 li jsPropertyOrValue nodes {ittf-tag @} 6 li jsObject nodes {ittf-tag {} 7 li jsArray nodes {ittf-tag [} 8 li function nodes {ittf-tag function} 9 li call nodes {ittf-tag _} 10 - 11 - _ execute 12 - @ argument 13 - { 14 - @ property 'hello' 15 - [ 16 - @ arrayItem1 17 - @ arrayItem2 18 - function 19 - # ... statements ... 20 - _ retrieveValue 21 - @ argument 22 $append code-js 23 - execute(argument, { 24 - property: 'hello' 25 - }, [ 26 - arrayItem1, 27 - arrayItem2 28 - ], function() { 29 - // ... statements ... 30 - }, retrieveValue(argument));
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/class.docs.ittf
1 $group 2 ls( class node {ittf-tag class} ) 3 $append summary-js 4 p A pseudo-class for javascript OOP. 5 - 6 - class Animal 7 - ctor 8 - param kind 9 - param legs 10 - # ... statements ... 11 - class Dog 12 - super Animal 13 - ctor 14 - param name 15 - base 'dog' 16 - base 4 17 - m run 18 - param time 19 - param velocity 20 - # ... statements ... 21 - m getDistanceRun 22 - # ... statements ... 23 $append code-js 24 - // Animal class 25 - Animal = function(kind, legs) { 26 - // ... statements ... 27 - } 28 - 29 - // Dog class 30 - Dog = function(name) { 31 - Animal.call(this, 'dog', 4); 32 - } 33 - util.inherits(Dog, Animal); 34 - 35 - Dog.prototype.run = function(time, velocity) { 36 - // ... statements ... 37 - } 38 - Dog.prototype.getDistanceRun = function() { 39 - // ... statements ... 40 - }
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/debug.docs.ittf
1 $group 2 ls( logging nodes ) 3 $append summary-js 4 - 5 - log commaSeparatedExpressionList 6 - 7 - log? objectExpression 8 - 9 - chalk color commaSeparatedExpressionList 10 $append code-js 11 - 12 - console.log( commaSeparatedExpressionList ); 13 - 14 - console.log( util.inspect( objectExpression, { depth: null } )); 15 - 16 - console.log(chalk.green(commaSeparatedExpressionList));
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/function.docs.ittf
1 $group 2 ls( function node {ittf-tag function} ) 3 $append summary-js 4 - 5 - function sayHello 6 - param name 7 - param style 8 - if style === 'bold' 9 - return 'Hello <b>' + name + '</b>' 10 - else 11 - return 'Hello ' + name 12 - 13 - function Animal 14 - param kind 15 - param legs 16 - param actionFunction 17 - 18 - var obj 19 - new Animal 20 - @ 'dog' 21 - @ 4 22 - function 23 - return 'I bark' 24 $append code-js 25 - 26 - function sayHello(name, style) { 27 - if (style === 'bold') { 28 - return 'Hello <b>' + name + '</b>'; 29 - } 30 - else { 31 - return 'Hello ' + name; 32 - } 33 - } 34 - 35 - function Animal(kind, legs, actionFunction) { 36 - } 37 - 38 - var obj = new Animal('dog', 4, function() { 39 - return 'I bark'; 40 - });
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/json.docs.ittf
1 $group 2 ls( object node {ittf-tag {} ) 3 - var person 4 - { 5 - @ name 'stefi' 6 - @ age 58 7 $append code-js 8 - var person = { name: 'stefi', age: 58 }; 9 ls( array node {ittf-tag [} ) 10 - var people 11 - [ 12 - { 13 - @ name 'stefi' 14 - @ age 58 15 - { 16 - @ name 'annie' 17 - @ age 58 18 $append code-js 19 - var people = [ 20 - { name: 'stefi', age: 58 }, 21 - { name: 'annie', age: 58 } 22 - ];
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/logic.docs.ittf
1 $group 2 ls( control flow nodes ) 3 - 4 - # if [ elif [ elif [ ... ]]] [ else ] node statements 5 - if condition 6 - # statements 7 - elif condition 8 - # statements 9 - else 10 - # statements 11 - 12 - # while node statement 13 - while condition 14 - # statements 15 - 16 - # do node statement 17 - do condition 18 - # statements 19 - 20 - # for node statement 21 - for jsExpression 22 - # statements 23 - 24 - # foreach node statement 25 - foreach item-var in jsExpression 26 - # statements 27 - 28 $append code-js 29 - // if [ elif [ elif [ ... ]]] [ else ] node statements 30 - if (condition) { 31 - // statements 32 - } 33 - else if (condition) { 34 - // statements 35 - } 36 - else { 37 - // statements 38 - } 39 - 40 - // while node statement 41 - while (condition) { 42 - // statements 43 - } 44 - 45 - // do node statement 46 - do { 47 - // statements 48 - } while (condition) 49 - 50 - // for node statement 51 - for (jsExpression) { 52 - // statements 53 - } 54 - 55 - // foreach node statement 56 - var i, i_len=jsExpression.length, item-var; 57 - for (i=0; i<i_len; i++) { 58 - item-var = jsExpression[i]; 59 - // statements 60 - }
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/set.docs.ittf
1 $group 2 ls( set node {ittf-tag set} ) 3 $append summary-js 4 ul set nodes accept as children nodes 5 li jsObject nodes {ittf-tag {} 6 li jsArray nodes {ittf-tag [} 7 li function nodes {ittf-tag function} 8 li call nodes {ittf-tag _} 9 - 10 - set x = 1 11 - set y 12 - { 13 - @ property 'hello' 14 - set z 15 - [ 16 - @ arrayItem1 17 - @ arrayItem2 18 - set k 19 - function 20 - # ... statements ... 21 - set j 22 - _ retrieveValue 23 - @ argument 24 $append code-js 25 - 26 - x = 1; 27 - 28 - y = { 29 - property: 'hello' 30 - }; 31 - 32 - z = [ 33 - arrayItem1, 34 - arrayItem2 35 - ]; 36 - 37 - k = function() { 38 - // ... statements ... 39 - } 40 - 41 - j = retrieveValue(argument));
/src/ittf/models/docs/t/specs/t/js-wizzi-schema/var.docs.ittf
1 $group 2 ls( var node {ittf-tag var} ) 3 $append summary-js 4 ul var nodes accept as children nodes 5 li jsPropertyOrValue nodes {ittf-tag @} 6 li jsObject nodes {ittf-tag {} 7 li jsArray nodes {ittf-tag [} 8 li function nodes {ittf-tag function} 9 li call nodes {ittf-tag _} 10 li decl nodes {ittf-tag decl} 11 - 12 - var a 13 - var x = 1 14 - var y 15 - { 16 - @ name 'stefi' 17 - @ age 58 18 - var fxDouble 19 - function 20 - param x 21 - return x * 2 22 - var 23 - decl b 24 - decl z = 1 25 - decl t 26 - { 27 - @ name 'annie' 28 - @ age 58 29 - decl fyHalve 30 - function 31 - param y 32 - return y / 2 33 $append code-js 34 - 35 - var a; 36 - var x = 1; 37 - var y = { 38 - name: 'stefi', 39 - age: 58 40 - }; 41 - var fxDouble = function(x) { 42 - return x * 2; 43 - }; 44 - var b, 45 - z = 1, 46 - t = { 47 - name: 'annie', 48 - age: 58 49 - }, 50 - fyHalve = function(y) { 51 - return y / 2; 52 - };
/src/ittf/models/docs/t/specs/t/ls.docs.ittf
1 $group 2 $params title 3 div <h3>${title}</h3> 4 $hook summary-js 5 table 6 tr 7 td 8 style width=50%; vertical-align:top; 9 ittf 10 $hook 11 td 12 style width=50%; vertical-align:top; border: 1px solid #555; 13 js 14 - 15 $hook code-js
/src/ittf/models/docs/t/specs/css-language-schema.docs.ittf
1 object The css WizziSchema 2 summary
/src/ittf/models/docs/t/specs/html-language-schema.docs.ittf
1 object The html WizziSchema 2 summary
/src/ittf/models/docs/t/specs/ittfdocument-searchpath.docs.ittf
1 object IttfDocuments search path 2 summary 3 p When IttfDocuments are included or mixed-in, given {path current-dir} 4 + as the path of the including or mixing IttfDocument, they are searched (in order): 5 ul 6 li in the {path current-dir} folder; 7 li in the {path current-dir}/t folder; 8 li in the folder named {path t} of the parent folder of the {path current-dir}; 9 li in the folder named {path t} of the ancestor folders of the {path current-dir}. 10 p Given this folder structure 11 ittf 12 - folder-a 13 - t 14 - layout.html.ittf 15 - folder-b 16 - t 17 - dialog.html.ittf 18 - my-home-page.html.ittf 19 p The IttfDocument my-home-page.html.ittf could be: 20 ittf 21 - layout( home ) 22 - $include dialog( )
/src/ittf/models/docs/t/specs/js-language-schema.docs.ittf
1 object The js WizziSchema 2 summary 3 $include js-wizzi-schema/var 4 $include js-wizzi-schema/set 5 $include js-wizzi-schema/json 6 $include js-wizzi-schema/function 7 $include js-wizzi-schema/call 8 $include js-wizzi-schema/logic 9 $include js-wizzi-schema/class 10 $include js-wizzi-schema/debug
/src/ittf/models/docs/t/specs/js-wizzi.docs.ittf
1 object Js-Wizzi, the template engine language
/src/ittf/models/docs/t/specs/wfjob-schema.docs.ittf
1 object The wfjob WizziSchema
/src/ittf/models/docs/t/specs/wizzimodeltype.docs.ittf
1 object The WizziModelType structure 2 summary 3 p To use WizziModelInstances as object contexts in template 4 + transformations one must get familiar with the structure of a WizziModelType. 5 p Each schema element is mapped to a javascript pseudo class that inherits from a 6 + super element or an auto-generated base element. 7 p Example WizziSchema 8 rdbms.schema() 9 p Example WizziModelType 10 js 11 - /* 12 - rdbmsBase class, standard autogenerated base class 13 - */ 14 - rdbmsBase = function(name, sourceLineInfo) { 15 - this.wzName = name || ''; 16 - this.wzParent = null; 17 - this.wzSourceLineInfo = sourceLineInfo; 18 - } 19 - ... 20 - /* 21 - dataitem class 22 - */ 23 - dataitem = function(name, sourceLineInfo) { 24 - rdbmsBase.call(this, name, sourceLineInfo); 25 - this.wzElement = "dataitem"; 26 - this.sqlname = null; 27 - // relation comment 28 - this.comments = []; 29 - } 30 - util.inherits(dataitem, rdbmsBase); 31 - ... 32 - /* 33 - table class 34 - */ 35 - table = function(name, sourceLineInfo) { 36 - dataitem.call(this, name, sourceLineInfo); 37 - this.wzElement = "table"; 38 - // relation column 39 - this.columns = []; 40 - } 41 - util.inherits(table, dataitem); 42 - ... 43 - 44 p Model objects properties that a template developer can use: 45 table 46 class pretty-table 47 tr 48 td wzElement 49 td Is the name of the element corresponding to the IttfNodeName of 50 + the source IttfNode 51 tr 52 td wzName 53 td Is the IttfNodeValue of the source IttfNode 54 tr 55 td wzParent 56 td Is the reference to the parent of the source IttfNode 57 tr 58 td wzSourceLineInfo 59 td Data info of the source IttfNode: row, col, sourceKey 60 tr 61 td attributes 62 td Each attribute of the schema element becomes a simple type property. 63 + In the example: sqlname, type, ... 64 tr 65 td collections 66 td Each related one-to-many element of the schema element becomes an array property. 67 + In the example: comments, tables, columns 68 tr 69 td objects 70 td Each related one-to-one element of the schema element becomes an object property. 71 p Example template 72 ittf 73 - html 74 - body 75 - ul Schema tables 76 - $foreach table in rdbms.tables 77 - li ${dollar}{table.wzName}
/src/ittf/models/docs/t/specs/wizzischema-notation.docs.ittf
1 object The WizziModel and WizziSchema notation 2 summary 3 p This IttfDocument ... 4 ittf 5 - rdbms School 6 - table Student 7 - column Id 8 - type integer 9 - column Name 10 - type string 11 - table Teacher 12 - column Id 13 - type integer 14 - column Name 15 - type string 16 p ... could be validated against the following WizziSchema: 17 ittf 18 - wfschema rdbms 19 - e rdbms 20 - r table/s 21 - e table/s 22 - r column/s 23 - e column/s 24 - a type 25 - restrict 26 - enum string 27 - enum boolean 28 - enum integer 29 - enum float 30 - enum date 31 ittf 32 - wfschema schema-name 33 - 34 - [0..n]require module-name 35 - declare-var var-name 36 - 37 - [0..3]export-to json|xml|prettify 38 - 39 - [0..n]element element-name [: super-element-name] 40 - <i>super</i> super-element-name 41 - <i>tag</i> tag-string 42 - <i>xml-tag</i> xml-tag-string 43 - <i>is-abstract</i> 44 - <i>is-root</i> 45 - <i>name-is-required</i> 46 - <i>add-to-children</i> 47 - [0..n]<b><i>attributes</i></b> 48 - [0..n]<b><i>relations</i></b> 49 - [0..n]<b><i>methods</i></b> 50 h3 Relation element 51 p Format: 52 ittf 53 - ... 54 - r related-element-name[ [plural-suffix-a] / plural-suffix-b ] 55 - <i>one-to-one</i> 56 - <i>no-get</i> 57 p Example: 58 ittf 59 - ... 60 - e table : dbitem 61 - r column/s 62 - r propert-y/ies 63 - r displayLayout 64 - one-to-one 65 p related-element-name plus the eventual plural-suffix-a must give the name of an 66 + Element element defined in the schema (that is the related Element); in the 67 + example: column, property, displayLayout. 68 h3 Attribute element 69 p Describes an attribute of an Element element. 70 p Format: 71 ittf 72 - ... 73 - a attribute-name 74 - <i>tag</i> tag-string 75 - <i>xml-tag</i> xml-tag-string 76 - <i>type</i> type-name 77 - <i>default</i> default-value 78 - <i>default-when-declared</i> default-value-when-declared 79 - <i>is-datatype</i> 80 - <i>is-required</i> 81 - [0..n]<b><i>restricts</i></b> 82 h3 Restrict element 83 p Format: 84 ittf 85 - ... 86 - restrict 87 - [0..n]enum enum-value 88 - <i>max-length</i> value 89 - <i>min-length</i> value 90 - <i>max-value</i> value 91 - <i>min-value</i> value 92 - <i>regexp</i> value 93 h2 Model type code elements 94 p The following elements of the WizziMetaSchema consent the insertion of javascript code in the 95 + WizziModelType that will be generated by the WizziModelProduction 96 h3 ExportTo element 97 p Format: 98 ittf 99 - wfschema schema-name 100 - export-to format-name 101 p Corrently available format is: 'json'. 102 p En exportTo element causes the insertion in the WizziModelType of the WizziSchema 103 + of the prototype functions for exporting the tree data structure of the model in 104 + the requested format. 105 h3 Require element 106 p Format: 107 ittf 108 - wfschema schema-name 109 - require module-name 110 - <i>declare-var</i> var-name 111 - <i>invoke</i> invoke-string 112 - <i>kind</i> kind-name 113 h3 Method element 114 p Declares a method that will be added in the WizziModelType to the pseudo-class of 115 + the containing Element. The method can access and manipulate the entire model 116 + tree structure. 117 p Format: 118 ittf 119 - ... 120 - m method-name 121 - [0..n]<b><i>params</i></b> 122 - [0..n]<b><i>statements</i></b> 123 h3 Parameter element 124 p Format: 125 ittf 126 - ... 127 - param param-name 128 h3 Statement element 129 p The statement element uses a subset of the CodeWizziSchema 'js'
/src/ittf/models/docs/t/specs/wizzischema-schema.docs.ittf
1 object The wfschema WizziSchema
/src/ittf/models/docs/t/starters/t/starter-1/myhtml-document-artifact.docs.ittf
1 $group 2 h3 The ArtifactGenerator 'myhtml/document' 3 p An ArtifactGenerator must expose this interface 4 js 5 - 6 - /* 7 - * @params (Object) model 8 - * @params (Object wizzi-core::artifact::genContext) ctx 9 - */ 10 - md.gen = function(model, ctx) { 11 - // statements 12 - }; 13 p The model param for this generator is a WizziModelInstance 14 + of type 'myhtml'. 15 ul It is a tree data structure where each node has the properties: 16 li wzElement : the schema element name; 17 li wzTag : the node name (tag) in the source IttfNode; 18 li wzName : the node value in the source IttfNode; 19 li attributes and related elements objects and collections. 20 p The 'myhtml/document' generator traverses the tree data structure and 21 + emits the HTML markup into the ctx object. 22 js 23 - see the source code in the folder 24 - lib/artifacts/myhtml/document/gen/main.js
/src/ittf/models/docs/t/starters/t/starter-1/myhtml-schema.docs.ittf
1 $group 2 h3 The WizziSchema 'myhtml' 3 p We want to exploit the power of the Ittf template engine 4 + for building html pages, without the need to detail 5 + all the tags of the html specification in a WizziSchema. 6 p We would like to write 7 ittf 8 - html 9 - < body 10 - < div Hello world in many colors 11 - $ var i = 10 12 - $while i <= 360 13 - < div Hello world 14 - @ style color: hsl(${dollar}{i}, 100%, 50%); 15 - $ i += 10; 16 p We need a very simple schema with three elements only: 17 ul 18 li the html root node 19 li the element/< element for HtmlElement tags 20 li the attribute/@ element for HtmlAttributes 21 p A first draft of the WizziSchema could be: 22 ittf 23 - wfschema myhtml 24 - e html 25 - r attribute/s 26 - r element/s 27 - e attribute 28 - tag @ 29 - e element 30 - tag < 31 - r attribute/s 32 - r element/s 33 p It will work but there is a redundancy. We may 34 + derive the root html element from di element element. 35 ittf 36 - wfschema myhtml 37 - e element 38 - tag < 39 - r attribute/s 40 - r element/s 41 - e html : element 42 - is-root 43 - e attribute 44 - tag @ 45 p We declare the html element after di element element. 46 + Super elements must be previously declared. 47 + We need to specify that the html element is the schema root element; 48 + by default the root node is the first element of the schema.
/src/ittf/models/docs/t/starters/t/starter-1/wizzimodelproduction.docs.ittf
1 $group 2 h3 The WizziModelProduction 3 p From the WizziSchemas of the package are generated 4 + WizziModelTypes and WizziModelFactories. 5 p The module schema.js contains a skeleton of 6 + WizziModelProduction where to add 7 + the generation for each schema. 8 js 9 - see the source code in the folder 10 - lib/schemas.js
/src/ittf/models/docs/t/starters/demostart.docs.ittf
1 object Wizzi-demo starter package 2 summary 3 h3 Overview 4 p The wizzi demo package is made of samples and links to 5 + the project documentation. 6 p Have a look at the 7 a github project 8 href https://github.com/wizzifactory/wizzi-demo 9 span . 10 p The readme file in each folder give you the links to 11 + concept, documentation, api and source code, relative 12 + to the samples in that folder. 13 h3 Sections 14 p Sample folders cover these areas: 15 ul 16 li mtree: ittf documents and mTrees 17 li jswizzi 18 li wizzi models 19 li wizzischema: wizzi schemas and wizzi model types 20 li schema languages 21 li wizzi jobs 22 li wizzi plugins: creating and using a local sample plugin 23 p The wizzi plugins section contains samples of model transformers 24 + and artifact generators. 25 h3 Installation 26 p 27 br # Clone the repository 28 br $ git clone https://github.com/wizzifactory/wizzi-demo 29 br 30 br # Go into the repository 31 br $ cd wizzi-demo 32 br 33 br # Install dependencies 34 br $ npm install 35 br 36 h3 Running samples 37 p 38 br # Run samples in folders: 39 br $ node mtree 40 br $ node wizzimodel 41 br $ ... 42 h3 Build your samples 43 p This is left to you.
/src/ittf/models/docs/t/starters/firstpackage.docs.ittf
1 object The First WizziPackage
/src/ittf/models/docs/t/starters/getstarted.docs.ittf
1 object Getting started 2 summary 3 p You have to be really motivated, 4 + for wanting to start using the wizzi factory. 5 p I don't want to incourage you saying 6 + that one can quickly get started and run. 7 + Accordingly this getting started section will be quite scarce. 8 p At the current time the main problem with the wizzi factory 9 + is error detection. You can get an error that does not clearly 10 + show where it has occurred. 11 p So the only way to get started is dive into code and help us 12 + to implement a better error tracking. 13 p But i don't want to let the brave without an option 14 + on where to start. 15 p The package wizzi-demo, that can be installed from npm, is the 16 + playground where we are concentrating our efforts to make the 17 + wizzi factory usable beyond its declared purpose, that 18 + is the generation of its next improved version. 19 p If you dare to play with the wizzi-demo we promise to do our best to 20 + give help.
/src/ittf/models/docs/t/starters/starter-1-tutorial.docs.ittf
1 object Wizzi Starter 1 2 summary 3 p In this quick-start we build a WizziFactoryPackage that exposes: 4 ul 5 li the WizziSchema {label myhtml}, an ultra-simplified html LanguageWizziSchema; 6 li the ArtifactGenerator {label myhtml/document}, 7 + a CodeWriteArtifactGenerator for rendering the HTML markup; 8 li the WizziModelProduction {label schemas.js}, for generating 9 + the WizziModelTypes and Factories of the package. 10 p Then we will create a {label mysite} folder with 11 + some myhtml IttfDocuments and a {label mysite} WizziFactoryProductionJob 12 + for generating the HTML pages of the site. 13 $include starter-1/myhtml-schema 14 $include starter-1/wizzimodelproduction 15 $include starter-1/myhtml-document-artifact
/src/ittf/models/docs/t/t/rdbms.schema.docs.ittf
1 ittf 2 - wfschema rdbms 3 - e dataitem 4 - a sqlname 5 - e comment 6 - tag # 7 - e rdbms : dataitem 8 - is-root 9 - r table/s 10 - e table : dataitem 11 - r column/s 12 - e column : dataitem 13 - a type 14 - restrict 15 - enum string 16 - enum boolean 17 - enum integer 18 - enum float 19 - enum date
/src/ittf/models/docs/code_intro.docs.ittf
1 docs code_intro 2 summary 3 p This section allows the browsing of kernel modules 4 + and core plugins of the wizzi factory. 5 p Since version v3 (0.3.x pre-release) the source of the 6 + wizzi factory code is made of wizzi models, so 7 + browsing the source helps to better understand 8 + the concepts explained in the documentation. 9 h4 Ittf notation legend 10 ittf 11 - nodename nodevalue rest of line 12 - $nodecommand parameters 13 - mixinCall( param-1, param-2, ... ) 14 ul 15 li 'nodename' in green is a semantic node name. The meaning of nodename is given 16 + by the wizzi schema, if the ittf document is schemed, otherwise it is a free 17 + meaning, given by the document author. 18 li 'The rest of the line in white is the value of 'nodename'. 19 li '$nodecommand' is a template command. Node commands are documented 20 a here 21 href #TODO. 22 li 'mixinCall' in red is a mixin inclusion command. In the code browser it is clickable 23 + and a modal dialog with the content of the mixin is shown. 24 concept Kernel packages 25 summary 26 table 27 tr 28 td 29 a wizzi 30 href https://wizzifactory.github.io/code/wizzi.html 31 td The core package of the wizzi factory. 32 tr 33 td 34 a wizzi-mtree 35 href https://wizzifactory.github.io/code/wizzi-mtree.html 36 td Loader for wizzi indented text tree format (ittf) documents. 37 tr 38 td 39 a wizzi-repo 40 href https://wizzifactory.github.io/code/wizzi-repo.html 41 td Repository manager for the wizzi factory. 42 tr 43 td 44 a wizzi-utils 45 href https://wizzifactory.github.io/code/wizzi-mongodb.html 46 td Utility library for the wizzi factory. 47 concept Plugin packages 48 summary 49 table 50 tr 51 td 52 a wizzi-core 53 href https://wizzifactory.github.io/code/wizzi-core.html 54 td A Wizzi Factory plugin with core schemas and artifact generators. 55 tr 56 td 57 a wizzi-meta 58 href https://wizzifactory.github.io/code/wizzi-meta.html 59 td A core wizzi factory plugin with schemas describing wizzi packages and the wizzi studio dashboard. 60 tr 61 td 62 a wizzi-docs 63 href https://wizzifactory.github.io/code/wizzi-docs.html 64 td A wizzi factory plugin for documentation artifact generation. 65 concept The docs package 66 summary 67 table 68 tr 69 td 70 a wizzi-documentation 71 href https://wizzifactory.github.io/code/wizzi-documentation.html 72 td The wizzi factory v3 (0.3.x pre-release) documentation. 73 concept The demo package 74 summary 75 table 76 tr 77 td 78 a wizzi-demo 79 href https://wizzifactory.github.io/code/wizzi-demo.html 80 td The most complete demo of the wizzi factory - v3 (pre-release).
/src/ittf/models/docs/concepts.docs.ittf
1 docs overview 2 $ var dollar = '$' 3 $include concepts/wizzifactory 4 $include concepts/mtree 5 $include concepts/ittfdocument 6 $include concepts/jswizzi 7 $include concepts/wizzimodel 8 $include concepts/wfschema 9 $include concepts/languageschema 10 $include concepts/modeltransformer 11 $include concepts/artifactgenerator 12 $include concepts/wizzijob 13 $include concepts/wizziplugin
/src/ittf/models/docs/contribs.docs.ittf
1 docs contribs 2 $ var dollar = '$' 3 intro 4 summary 5 div 6 style font-size: 24px; font-family: tahoma; margin: 150px 220px 0 220px; 7 p The WizziTeam is struggling to make using the Wizzi Factory as 8 + smooth as possible. 9 p If you have any question, an advice or 10 + you are brave enough to adventure yourself on 11 + authoring a WizziFactoryPackage do not esitate 12 + to let us know 13 + on <a href="https://groups.google.com/forum/?hl=it#!forum/wizzifactory">Google Groups</a>. 14 p If you have ideas to contribute or issues to signal you can use the github 15 + <a href="https://guides.github.com/activities/contributing-to-open-source/">guidelines</a> 16 + for contributing to the wizzi core projects and wizzi labs.
/src/ittf/models/docs/docs_artifacts.docs.ittf
1 docs artifacts 2 $ var dollar = '$' 3 $include docs/artifact/index 4 $include docs/artifact/implementation 5 $include docs/artifact/gencontext 6 $include docs/artifact/sample 7 $include docs/artifact/core 8 $include docs/artifact/jsonexport 9 $include docs/artifact/xmlexport 10 $include docs/artifact/ittfdocument
/src/ittf/models/docs/docs_intro.docs.ittf
1 docs intro 2 $ var dollar = '$' 3 $* 4 $include docs/introduction/index 5 section wizzi-core 6 $include docs/wizzi-core/index 7 section wizzi-ittf / structure 8 $include docs/wizzi-ittf/structure 9 section wizzi-ittf / behaviour 10 $include docs/wizzi-ittf/behaviour 11 section wizzi-schema / structure 12 $include docs/wizzi-schema/structure 13 section wizzi-schema / behaviour 14 $include docs/wizzi-schema/behaviour 15 section wizzi-factory / structure 16 $include docs/wizzi-factory/structure 17 section wizzi-factory / behaviour 18 $include docs/wizzi-factory/behaviour 19 $include docs/samples/ittfstatements 20 $include docs/samples/mixin 21 *$
/src/ittf/models/docs/docs_ittf.docs.ittf
1 docs ittf 2 $ var dollar = '$' 3 $include docs/mtree/index 4 $include docs/mtree/mtree-brick 5 $include docs/mtree/ittf-commandnodes 6 $include docs/mtree/pathresolution
/src/ittf/models/docs/docs_jobs.docs.ittf
1 docs jobs 2 $ var dollar = '$' 3 $include docs/jobs/index 4 $include docs/jobs/wfjob 5 $include docs/jobs/runnerServer
/src/ittf/models/docs/docs_jswizzi.docs.ittf
1 docs jswizzi 2 $ var dollar = '$' 3 $include docs/mtree/js-wizzi
/src/ittf/models/docs/docs_models.docs.ittf
1 docs models 2 $ var dollar = '$' 3 $include docs/wizzimodel/index 4 $include docs/schema/index 5 $include docs/schema/wfschema 6 $include docs/schema/pseudoschemas 7 $include docs/schema/json 8 $include docs/schema/xml 9 $include docs/schema/text 10 $include docs/schema/ittf
/src/ittf/models/docs/docs_plugins.docs.ittf
1 docs plugins 2 $ var dollar = '$' 3 $include docs/plugins/index
/src/ittf/models/docs/index.docs.ittf
1 docs index 2 $ var dollar = '$'
/src/ittf/models/docs/labs.docs.ittf
1 docs labs 2 $ var dollar = '$' 3 $include labs/site-lab 4 $include labs/data-lab 5 $include labs/form-lab 6 $include labs/rest-lab
/src/ittf/models/docs/project.docs.ittf
1 docs project 2 $ var dollar = '$' 3 project The Wizzi Factory 4 id WizziFactory 5 $include project/status 6 $include project/roadmap 7 $include project/todos 8 $include project/issues
/src/ittf/models/docs/specs.docs.ittf
1 docs specs 2 $ var dollar = '$' 3 $* 4 $include specs/wizzischema-notation 5 $include specs/ittfdocument-searchpath.docs 6 $include specs/js-wizzi 7 $include specs/wizzimodeltype 8 $include specs/wfschema-schema 9 $include specs/wfjob-schema 10 $include specs/js-language-schema 11 $include specs/html-language-schema 12 $include specs/css-language-schema 13 *$
/src/ittf/models/docs/starters.docs.ittf
1 docs starters 2 $ var dollar = '$' 3 $include starters/getstarted 4 $include starters/demostart
/src/ittf/models/packages/info/v3-kernel.wfpackage.ittf
1 $group 2 kind ittfsource 3 version 0.0.2 4 title Source ittf documents of wizzi factory v3 (pre-release) kernel packages. 5 git-cwd c:/my/wizzi/github/v3-kernel
/src/ittf/models/packages/info/v3-next.wfpackage.ittf
1 $group 2 kind ittfsource 3 version 0.0.2 4 title Source ittf documents using wizzi factory v3 (pre-release) kernel and plugins. 5 git-cwd c:/my/wizzi/github/v3-next
/src/ittf/models/packages/info/v3-plugins.wfpackage.ittf
1 $group 2 kind ittfsource 3 version 0.0.2 4 title Source ittf documents of wizzi factory v3 (pre-release) plugin packages. 5 git-cwd c:/my/wizzi/github/v3-plugins
/src/ittf/models/packages/info/v4-wizzi-js.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.3.6 4 title A wizzi factory plugin for javascript code-generation 5 git-cwd c:/my/wizzi/github/wizzi-js
/src/ittf/models/packages/info/v4-wizzi.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.4.0 4 title The wizzi factory main package 5 git-cwd c:/my/wizzi/github/v4-wizzi
/src/ittf/models/packages/info/wizzi-core.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.3.2 4 title A Wizzi Factory plugin with core schemas and artifact generators. 5 $$ git-cwd c:/my/wizzi/github/wizzi-core 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-core
/src/ittf/models/packages/info/wizzi-demo.wfpackage.ittf
1 $group 2 kind demo 3 version 0.0.2 4 title The most complete demo of the wizzi factory - v3 (pre-release). 5 $$ git-cwd c:/my/wizzi/github/wizzi-demo 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-demo
/src/ittf/models/packages/info/wizzi-docs.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.0.2 4 title A wizzi factory plugin for documentation artifact generation. 5 $$ git-cwd c:/my/wizzi/github/wizzi-docs 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-docs
/src/ittf/models/packages/info/wizzi-documentation.wfpackage.ittf
1 $group 2 kind demo 3 version 0.0.2 4 title Wizzi factory documentation 5 git-cwd c:/my/wizzi/github/v3-docs
/src/ittf/models/packages/info/wizzi-html.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.3.2 4 title A wizzi factory plugin for html and css artifact generation 5 $$ git-cwd c:/my/wizzi/github/wizzi-html 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-html
/src/ittf/models/packages/info/wizzi-js.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.3.2 4 title A wizzi factory plugin for javascript code-generation 5 $$ git-cwd c:/my/wizzi/github/wizzi-js 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-js
/src/ittf/models/packages/info/wizzi-meta.wfpackage.ittf
1 $group 2 kind plugin 3 version 0.3.2 4 title Meta data and descriptors for wizzi packages and the wizzi studio dashboard 5 $$ git-cwd c:/my/wizzi/github/wizzi-meta 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-meta
/src/ittf/models/packages/info/wizzi-mongodb.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.0.2 4 title mongodb document storage component for the wizzi factory 5 $$ git-cwd c:/my/wizzi/github/wizzi-mongodb 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-mongodb
/src/ittf/models/packages/info/wizzi-mtree.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.3.2 4 title Loader component for Indented Text Tree Format (ittf) documents. Implements the Wizzi Magical Tree buildup 5 $$ git-cwd c:/my/wizzi/github/wizzi-mtree 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-mtree
/src/ittf/models/packages/info/wizzi-repo.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.0.2 4 title Ittf documents repository manager for the wizzi factory 5 $$ git-cwd c:/my/wizzi/github/wizzi-repo 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-repo
/src/ittf/models/packages/info/wizzi-tools.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.0.2 4 title Utility components for the Wizzi Factory 5 $$ git-cwd c:/my/wizzi/github/wizzi-tools 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi-tools
/src/ittf/models/packages/info/wizzi-utils.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.3.6 4 title Utility library for the wizzi factory 5 git-cwd c:/my/wizzi/github/wizzi-utils
/src/ittf/models/packages/info/wizzi.wfpackage.ittf
1 $group 2 kind kernel 3 version 0.3.2 4 title The wizzi factory main package. 5 $$ git-cwd c:/my/wizzi/github/wizzi 6 git-cwd c:/my/wizzi/v3/apps/docs/node_modules/wizzi
/src/ittf/models/packages/v3-docs.wfpackage.ittf
1 wfpackage v3-docs 2 info/v3-docs()
/src/ittf/models/packages/v3-next.wfpackage.ittf
1 wfpackage v3-next 2 info/v3-next()
/src/ittf/models/packages/v4-demo.wfpackage.ittf
1 wfpackage v4-demo 2 src-cwd c:/my/wizzi/v4/demo 3 generated-package wizzi-documentation 4 source-folder wizzi-documentation/src 5 build-cwd wizzi-documentation/dist 6 info/wizzi-documentation() 7 generated-package wizzi-demo 8 source-folder wizzi-demo/src 9 build-cwd wizzi-demo/dist 10 info/wizzi-demo()
/src/ittf/models/packages/v4-kernel.wfpackage.ittf
1 wfpackage v4-kernel 2 src-cwd c:/my/wizzi/v4/kernel 3 generated-package wizzi 4 info/wizzi() 5 source-folder wizzi/src 6 build-cwd wizzi/dist 7 generated-package wizzi-mtree 8 info/wizzi-mtree() 9 source-folder wizzi-mtree/src 10 build-cwd wizzi-mtree/dist 11 generated-package wizzi-repo 12 info/wizzi-repo() 13 source-folder wizzi-repo/src 14 build-cwd wizzi-repo/dist 15 generated-package wizzi-utils 16 info/wizzi-utils() 17 source-folder wizzi-utils/src 18 build-cwd wizzi-utils/dist
/src/ittf/models/packages/v4-plugins.wfpackage.ittf
1 wfpackage v4-plugins 2 src-cwd c:/my/wizzi/v4/plugins 3 generated-package wizzi-core 4 source-folder wizzi-core/src 5 build-cwd wizzi-core/dist 6 info/wizzi-core() 7 generated-package wizzi-meta 8 source-folder wizzi-meta/src 9 build-cwd wizzi-meta/dist 10 info/wizzi-meta() 11 generated-package wizzi-docs 12 source-folder wizzi-docs/src 13 build-cwd wizzi-docs/dist 14 info/wizzi-docs()
/src/ittf/models/packages/v4-wizzi-js.wfpackage.ittf
1 wfpackage v4-wizzi-js 2 info/v4-wizzi-js() 3 schema js 4 title js wizzi language model 5 artifact js/module
/src/ittf/models/packages/v4-wizzi.wfpackage.ittf
1 wfpackage v4-wizzi 2 info/v4-wizzi()
/src/ittf/models/packages/wizzi-core.wfpackage.ittf
1 wfpackage wizzi-core 2 info/wizzi-core() 3 schema wfjob 4 title Wizzi job definition 5 schema wfschema 6 title Wizzi schema definition
/src/ittf/models/packages/wizzi-demo.wfpackage.ittf
1 wfpackage wizzi-demo 2 info/wizzi-demo()
/src/ittf/models/packages/wizzi-docs.wfpackage.ittf
1 wfpackage wizzi-docs 2 info/wizzi-demo() 3 schema docs 4 title Library documentation wizzi model 5 transformer docs/preprint
/src/ittf/models/packages/wizzi-html.wfpackage.ittf
1 wfpackage wizzi-html 2 info/wizzi-html() 3 schema html 4 title Html wizzi language model 5 artifact html/document 6 schema css 7 title Cascading style sheet wizzi language model 8 artifact css/document
/src/ittf/models/packages/wizzi-js.wfpackage.ittf
1 wfpackage wizzi-js 2 info/wizzi-js() 3 schema js 4 title js wizzi language model 5 artifact js/module
/src/ittf/models/packages/wizzi-meta.wfpackage.ittf
1 wfpackage wizzi-meta 2 info/wizzi-meta() 3 schema wfpackage 4 title Wizzi package descriptor 5 schema wfstudio 6 title Wizzi studio dashboard meta data
/src/ittf/models/packages/wizzi-mtree.wfpackage.ittf
1 wfpackage wizzi-mtree 2 info/wizzi-mtree()
/src/ittf/models/packages/wizzi-repo.wfpackage.ittf
1 wfpackage wizzi-repo 2 info/wizzi-repo()
/src/ittf/models/packages/wizzi-tools.wfpackage.ittf
1 wfpackage wizzi-tools 2 info/wizzi-tools()
/src/ittf/models/packages/wizzi-utils.wfpackage.ittf
1 wfpackage wizzi-utils 2 info/wizzi-utils()
/src/ittf/models/packages/wizzi.wfpackage.ittf
1 wfpackage wizzi 2 info/wizzi()
/src/ittf/root/t/readme_content.md.ittf
1 $group
/src/ittf/root/index.js.ittf
1 module 2 kind jsfile
/src/ittf/root/package.json.ittf
1 { 2 name "v3-docs" 3 version "0.0.1" 4 description "Wizzi factory documentation." 5 scripts 6 { 7 test "mocha tests/**/*.js" 8 start "node index" 9 dependencies 10 { 11 async "^2.4.0" 12 json-stringify-safe "^5.0.1" 13 lodash "^4.17.4" 14 object-inspect "^1.2.2" 15 wizzi "wizzifactory/wizzi" 16 wizzi-core "wizzifactory/wizzi-core" 17 wizzi-meta "wizzifactory/wizzi-meta" 18 wizzi-js "wizzifactory/wizzi-js" 19 wizzi-html "wizzifactory/wizzi-html" 20 wizzi-docs "wizzifactory/wizzi-docs" 21 devDependencies 22 { 23 del "^2.2.2" 24 expect.js "^0.3.1" 25 iconv-lite "^0.4.15" 26 mocha "^1.20.1"
/src/generate.wfjob.ittf
1 wfjob demo 2 $ 3 var ittf_meta_folder = path.join(__dirname, 'ittf', 'meta'); 4 var ittf_root = path.join(__dirname, 'ittf', 'root'); 5 var ittf_jobs = path.join(__dirname, 'ittf', 'jobs'); 6 var dest_folder = path.join(__dirname, '..', 'dist'); 7 model meta 8 schema json 9 src ${ittf_meta_folder}/index.json.ittf 10 line ittf-root 11 cwd-folder ${ittf_root} 12 dest-folder ${dest_folder} 13 wfjob/any_js() 14 ignore ${ittf_root}/**/*__copy.*/**/*.js.ittf 15 wfjob/any_json() 16 model-ref meta 17 export-name wfpackage 18 wfjob/any_md() 19 model-ref meta 20 export-name wfpackage 21 line ittf-jobs 22 cwd-folder ${ittf_jobs} 23 dest-folder ${dest_folder}/jobs 24 wfjob/any_js() 25 ignore ${ittf_jobs}/**/*__copy/**/*.js.ittf 26 artifact any_ittf_inside___copy 27 src ${ittf_jobs}/**/*__copy/**/*.ittf 28 extension ittf 29 artifact any_css_inside___copy 30 src ${ittf_jobs}/**/*__copy/**/*.css 31 extension css 32 artifact any_svg_inside___copy 33 src ${ittf_jobs}/**/*__copy/**/*.svg 34 extension svg 35 production 36 dest-folder ${dest_folder} 37 line-ref ittf-root 38 line-ref ittf-jobs